Fixes #234
View questions now is View results and redirects to results in public view. Fixed flaky spec that was making the tests fail. Added missing specs for polls feature as well as poll model.
This commit is contained in:
@@ -33,6 +33,51 @@ describe Poll do
|
||||
poll.ends_at = 2.months.ago
|
||||
expect(poll).not_to be_valid
|
||||
end
|
||||
|
||||
it 'no overlapping polls for proposal polls are allowed' do
|
||||
end
|
||||
end
|
||||
|
||||
describe 'proposal polls specific validations' do
|
||||
let(:proposal) { create(:proposal) }
|
||||
let(:poll) { build(:poll, related: proposal) }
|
||||
|
||||
it 'is valid when overlapping but different proposals' do
|
||||
other_proposal = create(:proposal)
|
||||
_other_poll = create(:poll, related: other_proposal, starts_at: poll.starts_at, ends_at: poll.ends_at)
|
||||
|
||||
expect(poll).to be_valid
|
||||
end
|
||||
|
||||
it 'is valid when same proposal but not overlapping' do
|
||||
_other_poll = create(:poll, related: proposal, starts_at: poll.ends_at + 1.day, ends_at: poll.ends_at + 8.days)
|
||||
expect(poll).to be_valid
|
||||
end
|
||||
|
||||
it 'is not valid when overlaps from the beginning' do
|
||||
_other_poll = create(:poll, related: proposal, starts_at: poll.starts_at - 8.days, ends_at: poll.starts_at)
|
||||
expect(poll).not_to be_valid
|
||||
end
|
||||
|
||||
it 'is not valid when overlaps from the end' do
|
||||
_other_poll = create(:poll, related: proposal, starts_at: poll.ends_at, ends_at: poll.ends_at + 8.days)
|
||||
expect(poll).not_to be_valid
|
||||
end
|
||||
|
||||
it 'is not valid when overlaps with same interval' do
|
||||
_other_poll = create(:poll, related: proposal, starts_at: poll.starts_at, ends_at: poll.ends_at)
|
||||
expect(poll).not_to be_valid
|
||||
end
|
||||
|
||||
it 'is not valid when overlaps with interval contained' do
|
||||
_other_poll = create(:poll, related: proposal, starts_at: poll.starts_at + 1.day, ends_at: poll.ends_at - 1.day)
|
||||
expect(poll).not_to be_valid
|
||||
end
|
||||
|
||||
it 'is not valid when overlaps with interval containing' do
|
||||
_other_poll = create(:poll, related: proposal, starts_at: poll.starts_at - 8.days, ends_at: poll.ends_at + 8.days)
|
||||
expect(poll).not_to be_valid
|
||||
end
|
||||
end
|
||||
|
||||
describe "#opened?" do
|
||||
|
||||
Reference in New Issue
Block a user