У меня есть модель рельсов с этим подтверждением:
validates_numericality_of(:insert_oz,
:allow_blank=>true,
:greater_than=>0,
:if=>(proc do |note|
!note.insert_pages.nil? &&
note.insert_pages > 0
end))
Используя замечательный, как мне проверить валидацию, которая использует опцию :if
?
Если я сделаю очевидное и добавлю валидацию в мою спецификацию, изменив «validates» на «should_validate»:
should_validate_numericality_of(:insert_oz,
:allow_blank=>true,
:greater_than=>0,
:if=>(proc do |note|
!note.insert_pages.nil? &&
note.insert_pages > 0
end))
Тогда спецификации не удается с этим сообщением:
'Processingnote should ensure numericality of insert oz is greater than 0 and allowing blank values' FAILED
Expected Processingnote to be invalid when insert oz is less than 1