diff options
author | Ariejan de Vroom <ariejan@ariejan.net> | 2012-03-14 17:31:31 +0400 |
---|---|---|
committer | Ariejan de Vroom <ariejan@ariejan.net> | 2012-03-14 17:31:31 +0400 |
commit | 8d8b82127f2563ee24a7621793b19c9c984c199e (patch) | |
tree | 5b2a2f55afd3b46ed20beb66ccca7877521c2ede /spec | |
parent | ed11ca13e80341ed604198426f4d516618e4d23f (diff) |
Count +1 votes in issue notes.
Diffstat (limited to 'spec')
-rw-r--r-- | spec/models/issue_spec.rb | 31 | ||||
-rw-r--r-- | spec/models/note_spec.rb | 31 |
2 files changed, 56 insertions, 6 deletions
diff --git a/spec/models/issue_spec.rb b/spec/models/issue_spec.rb index 74eb5b93f21..d76adff3dae 100644 --- a/spec/models/issue_spec.rb +++ b/spec/models/issue_spec.rb @@ -24,6 +24,37 @@ describe Issue do :assignee => Factory(:user), :project => Factory.create(:project)).should be_valid } + describe "plus 1" do + let(:project) { Factory(:project) } + subject { + Factory.create(:issue, + :author => Factory(:user), + :assignee => Factory(:user), + :project => project) + } + + it "with no notes has a 0/0 score" do + subject.upvotes.should == 0 + end + + it "should recognize non-+1 notes" do + subject.notes << Factory(:note, note: "No +1 here", project: Factory(:project, path: 'plusone', code: 'plusone')) + subject.should have(1).note + subject.notes.first.upvote?.should be_false + subject.upvotes.should == 0 + end + + it "should recognize a single +1 note" do + subject.notes << Factory(:note, note: "+1 This is awesome", project: Factory(:project, path: 'plusone', code: 'plusone')) + subject.upvotes.should == 1 + end + + it "should recognize a multiple +1 notes" do + subject.notes << Factory(:note, note: "+1 This is awesome", project: Factory(:project, path: 'plusone', code: 'plusone')) + subject.notes << Factory(:note, note: "+1 I want this", project: Factory(:project, path: 'plustwo', code: 'plustwo')) + subject.upvotes.should == 2 + end + end end # == Schema Information # diff --git a/spec/models/note_spec.rb b/spec/models/note_spec.rb index f36f12dd6ec..c74f7277810 100644 --- a/spec/models/note_spec.rb +++ b/spec/models/note_spec.rb @@ -20,10 +20,29 @@ describe Note do Note.today.where_values.should == ["created_at >= '#{Date.today}'"] end end - - describe "Commit notes" do - before do + describe "Voting score" do + let(:project) { Factory(:project) } + + it "recognizes a neutral note" do + note = Factory(:note, project: project, note: "This is not a +1 note") + note.should_not be_upvote + end + + it "recognizes a +1 note" do + note = Factory(:note, project: project, note: "+1 for this") + note.should be_upvote + end + + it "recognizes a -1 note as no vote" do + note = Factory(:note, project: project, note: "-1 for this") + note.should_not be_upvote + end + end + + describe "Commit notes" do + + before do @note = Factory :note, :project => project, :noteable_id => commit.id, @@ -36,12 +55,12 @@ describe Note do end end - describe "Pre-line commit notes" do - before do + describe "Pre-line commit notes" do + before do @note = Factory :note, :project => project, :noteable_id => commit.id, - :noteable_type => "Commit", + :noteable_type => "Commit", :line_code => "0_16_1" end |