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:
Juan Salvador Pérez García
2018-07-19 17:15:05 +02:00
parent 2823d53121
commit 4b8cc85c49
12 changed files with 135 additions and 116 deletions

View File

@@ -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