Сопротивления Shoulda/RSpec - условная проверка
В моем коде у меня была следующая валидация с помощью согласующих бит, которые отлично работают:
it { should validate_presence_of(:name) }
В моей модели я добавил условие к моей проверке:
validates_presence_of :name, :if => eligible?
Можно ли отразить его в валидации?
Я пробовал посмотреть документацию для помощников по назначению, но не смог найти решение.
Большое спасибо!
Ответы
Ответ 1
Кажется, что shoulda_matchers не делают этого, но достаточно легко написать его сами:
context "if eligible" do
before { allow(subject).to receive(:eligible?).and_return(true) }
it { should validate_presence_of(:name) }
end
context "if ineligible" do
before { allow(subject).to receive(:eligible?).and_return(false) }
it { should_not validate_presence_of(:name) }
end