From 9146d68c5342fc358cf52d3bd7bcf8b2345b35fe Mon Sep 17 00:00:00 2001 From: Bertocq Date: Fri, 13 Oct 2017 16:53:03 +0200 Subject: [PATCH] Add current_or_recounting_or_incoming method to Poll model --- app/models/poll.rb | 4 ++++ spec/models/poll/poll_spec.rb | 16 ++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/app/models/poll.rb b/app/models/poll.rb index 41d4a9ab9..5c65b688f 100644 --- a/app/models/poll.rb +++ b/app/models/poll.rb @@ -51,6 +51,10 @@ class Poll < ActiveRecord::Base current + incoming end + def self.current_or_recounting_or_incoming + current + recounting + incoming + end + def answerable_by?(user) user.present? && user.level_two_or_three_verified? && diff --git a/spec/models/poll/poll_spec.rb b/spec/models/poll/poll_spec.rb index dba964928..bfb5881f2 100644 --- a/spec/models/poll/poll_spec.rb +++ b/spec/models/poll/poll_spec.rb @@ -92,6 +92,22 @@ describe :poll do end end + describe "#current_or_recounting_or_incoming" do + it "returns current or recounting or incoming polls" do + current = create(:poll, :current) + incoming = create(:poll, :incoming) + expired = create(:poll, :expired) + recounting = create(:poll, :recounting) + + current_or_recounting_or_incoming = Poll.current_or_recounting_or_incoming + + expect(current_or_recounting_or_incoming).to include(current) + expect(current_or_recounting_or_incoming).to include(recounting) + expect(current_or_recounting_or_incoming).to include(incoming) + expect(current_or_recounting_or_incoming).to_not include(expired) + end + end + describe "answerable_by" do let(:geozone) {create(:geozone) }