Commit 7b0c7ae5 authored by Riyad Preukschas's avatar Riyad Preukschas

Add votes_count

parent 2e0d5c22
...@@ -8,4 +8,9 @@ module Votes ...@@ -8,4 +8,9 @@ module Votes
def downvotes def downvotes
notes.select(&:downvote?).size notes.select(&:downvote?).size
end end
# Return the total number of votes
def votes_count
upvotes + downvotes
end
end end
...@@ -50,4 +50,33 @@ describe Issue do ...@@ -50,4 +50,33 @@ describe Issue do
issue.downvotes.should == 2 issue.downvotes.should == 2
end end
end end
describe "#votes_count" do
it "with no notes has a 0/0 score" do
issue.votes_count.should == 0
end
it "should recognize non notes" do
issue.notes << create(:note, note: "No +1 here")
issue.should have(1).note
issue.votes_count.should == 0
end
it "should recognize a single +1 note" do
issue.notes << create(:note, note: "+1 This is awesome")
issue.votes_count.should == 1
end
it "should recognize a single -1 note" do
issue.notes << create(:note, note: "-1 This is bad")
issue.votes_count.should == 1
end
it "should recognize multiple notes" do
issue.notes << create(:note, note: "+1 This is awesome")
issue.notes << create(:note, note: "-1 This is bad")
issue.notes << create(:note, note: "+1 I want this")
issue.votes_count.should == 3
end
end
end end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment