0
У меня есть модель, где я проверяю поле условно. Это выглядит следующим образом:Spec validate_uniqueness_of test с условным
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.') }
проблемы, я не знаю, как включить, если условно в тесте ?
Любые идеи?
спасибо за это. Но как насчет тестирования, когда user_id не равен нулю? Тестирование, которое вы отправили, будет проверяться, когда оно ноль, но как насчет того, когда это не ноль? Я не могу точно использовать мой существующий тест, чтобы сделать это, поскольку я получаю ошибку из-за условия '' 'if''''. Мне нужен способ объединить тесты. Или, возможно, есть способ переустановить проверку модели? Это кажется более сложным? – JCC
то, что я опубликовал, является дополнением к тому, что у вас уже есть - добавьте его в свои существующие спецификации, и это будет комбинация, о которой вы упомянули выше :) –
Я не могу точно сделать это, поскольку мой первоначальный тест выше дает мне ошибка - «Ошибка/ошибка: это {должно validate_uniqueness_of (: case_id) Ожидаемые ошибки, чтобы включить« Сообщение », когда case_id установлено в 0, не получил ошибок» - Так что добавление ваших не поможет, чтобы исправить это. Единственный способ - как-то включить ваш в мой как один тест. Мой вопрос стоит. – JCC