我有一个模型,我可以有条件地验证字段。它看起来像这样:
validates :case_id,
uniqueness: {
scope: :user_id,
message: 'Message'
},
unless: Proc.new { |c| c.user_id.nil? }
到目前为止,我对它的测试看起来像这样:
it { should validate_uniqueness_of(:case_id)
.scoped_to(:user_id)
.with_message('Message.') }
问题是我不知道如何将除非条件纳入测试?
有什么想法吗?
答案 0 :(得分:0)
我认为你不能在一行中测试它,但这就是我要做的事情:
context 'when user_id is nil' do
before { subject.stub(:user_id) { nil } }
it { expect(subject).to_not validate_uniqueness_of(:case_id) }
end