adds scope & boolean method for retired proposals
This commit is contained in:
@@ -42,6 +42,7 @@ class Proposal < ActiveRecord::Base
|
|||||||
scope :sort_by_relevance, -> { all }
|
scope :sort_by_relevance, -> { all }
|
||||||
scope :sort_by_flags, -> { order(flags_count: :desc, updated_at: :desc) }
|
scope :sort_by_flags, -> { order(flags_count: :desc, updated_at: :desc) }
|
||||||
scope :last_week, -> { where("proposals.created_at >= ?", 7.days.ago)}
|
scope :last_week, -> { where("proposals.created_at >= ?", 7.days.ago)}
|
||||||
|
scope :retired, -> { where.not(retired_at: nil) }
|
||||||
|
|
||||||
def to_param
|
def to_param
|
||||||
"#{id}-#{title}".parameterize
|
"#{id}-#{title}".parameterize
|
||||||
@@ -105,6 +106,10 @@ class Proposal < ActiveRecord::Base
|
|||||||
user && user.level_two_or_three_verified?
|
user && user.level_two_or_three_verified?
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def retired?
|
||||||
|
retired_at.present?
|
||||||
|
end
|
||||||
|
|
||||||
def register_vote(user, vote_value)
|
def register_vote(user, vote_value)
|
||||||
if votable_by?(user)
|
if votable_by?(user)
|
||||||
vote_by(voter: user, vote: vote_value)
|
vote_by(voter: user, vote: vote_value)
|
||||||
|
|||||||
@@ -741,4 +741,23 @@ describe Proposal do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe "retired" do
|
||||||
|
before(:all) do
|
||||||
|
@proposal1 = create(:proposal)
|
||||||
|
@proposal2 = create(:proposal, retired_at: Time.now)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "retired? is true" do
|
||||||
|
expect(@proposal1.retired?).to eq false
|
||||||
|
expect(@proposal2.retired?).to eq true
|
||||||
|
end
|
||||||
|
|
||||||
|
it "scope retired" do
|
||||||
|
retired = Proposal.retired
|
||||||
|
|
||||||
|
expect(retired.size).to eq(1)
|
||||||
|
expect(retired.first).to eq(@proposal2)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user