summaryrefslogtreecommitdiff
path: root/spec/models/project_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models/project_spec.rb')
-rw-r--r--spec/models/project_spec.rb52
1 files changed, 46 insertions, 6 deletions
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb
index c2ebfbd9229..72673a1f812 100644
--- a/spec/models/project_spec.rb
+++ b/spec/models/project_spec.rb
@@ -241,21 +241,61 @@ describe Project do
it { project.open_branches.map(&:name).should_not include('master') }
end
- describe "#count_star" do
- it "counts stars" do
+ describe "#star_count" do
+ it "counts stars from multiple users" do
user1 = create :user
user2 = create :user
project = create :project, :public
expect(project.star_count).to eq(0)
+
user1.toggle_star(project)
- expect(project.star_count).to eq(1)
+ expect(project.reload.star_count).to eq(1)
+
user2.toggle_star(project)
- expect(project.star_count).to eq(2)
+ project.reload
+ expect(project.reload.star_count).to eq(2)
+
user1.toggle_star(project)
- expect(project.star_count).to eq(1)
+ project.reload
+ expect(project.reload.star_count).to eq(1)
+
user2.toggle_star(project)
- expect(project.star_count).to eq(0)
+ project.reload
+ expect(project.reload.star_count).to eq(0)
+ end
+
+ it "counts stars on the right project" do
+ user = create :user
+ project1 = create :project, :public
+ project2 = create :project, :public
+
+ expect(project1.star_count).to eq(0)
+ expect(project2.star_count).to eq(0)
+
+ user.toggle_star(project1)
+ project1.reload
+ project2.reload
+ expect(project1.star_count).to eq(1)
+ expect(project2.star_count).to eq(0)
+
+ user.toggle_star(project1)
+ project1.reload
+ project2.reload
+ expect(project1.star_count).to eq(0)
+ expect(project2.star_count).to eq(0)
+
+ user.toggle_star(project2)
+ project1.reload
+ project2.reload
+ expect(project1.star_count).to eq(0)
+ expect(project2.star_count).to eq(1)
+
+ user.toggle_star(project2)
+ project1.reload
+ project2.reload
+ expect(project1.star_count).to eq(0)
+ expect(project2.star_count).to eq(0)
end
end
end