Shoulda Matchers
Show archive.org snapshot
don't provide canditional validations (validations with if:
option). Here is how to write tests for the condition:
Class:
class Employee < ActiveRecored::Base
validates :office, presence: true, if: manager?
def manager?
...
end
end
Test:
describe Employee do
describe '#office' do
context 'is a manager' do
before { allow(subject).to receive(:manager?).and_return(true) }
it { is_expected.to validate_presence_of(:office) }
end
context 'is not a manager' do
before { allow(subject).to receive(:manager?).and_return(false) }
it { is_expected.not_to validate_presence_of(:office) }
end
end
end
Posted by Daniel Straßner to makandra dev (2017-06-26 09:54)