Simplify model validation specs for `Announcement` (#32481)
parent
c0f46e9031
commit
bd0c826a3d
|
@ -67,18 +67,30 @@ RSpec.describe Announcement do
|
|||
it { is_expected.to validate_presence_of(:text) }
|
||||
|
||||
describe 'ends_at' do
|
||||
it 'validates presence when starts_at is present' do
|
||||
record = Fabricate.build(:announcement, starts_at: 1.day.ago)
|
||||
context 'when starts_at is present' do
|
||||
subject { Fabricate.build :announcement, starts_at: 1.day.ago }
|
||||
|
||||
expect(record).to_not be_valid
|
||||
expect(record.errors[:ends_at]).to be_present
|
||||
it { is_expected.to validate_presence_of(:ends_at) }
|
||||
end
|
||||
|
||||
it 'does not validate presence when starts_at is missing' do
|
||||
record = Fabricate.build(:announcement, starts_at: nil)
|
||||
context 'when starts_at is missing' do
|
||||
subject { Fabricate.build :announcement, starts_at: nil }
|
||||
|
||||
expect(record).to be_valid
|
||||
expect(record.errors[:ends_at]).to_not be_present
|
||||
it { is_expected.to_not validate_presence_of(:ends_at) }
|
||||
end
|
||||
end
|
||||
|
||||
describe 'starts_at' do
|
||||
context 'when ends_at is present' do
|
||||
subject { Fabricate.build :announcement, ends_at: 1.day.ago }
|
||||
|
||||
it { is_expected.to validate_presence_of(:starts_at) }
|
||||
end
|
||||
|
||||
context 'when ends_at is missing' do
|
||||
subject { Fabricate.build :announcement, ends_at: nil }
|
||||
|
||||
it { is_expected.to_not validate_presence_of(:starts_at) }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue