diff --git a/spec/models/debate_spec.rb b/spec/models/debate_spec.rb index 609facfde..f4ed41846 100644 --- a/spec/models/debate_spec.rb +++ b/spec/models/debate_spec.rb @@ -748,7 +748,7 @@ describe Debate do expect(Debate.recommendations(user)).to be_empty end - it "returns debates ordered by cached_votes_total" do + it "returns debates related to the user's interests ordered by cached_votes_total" do debate1 = create(:debate, cached_votes_total: 1, tag_list: "Sport") debate2 = create(:debate, cached_votes_total: 5, tag_list: "Sport") debate3 = create(:debate, cached_votes_total: 10, tag_list: "Sport") @@ -760,26 +760,24 @@ describe Debate do expect(results).to eq [debate3, debate2, debate1] end - it "returns debates related with user interests" do - debate1 = create(:debate, tag_list: "Sport") - debate2 = create(:debate, tag_list: "Politics") + it "does not return debates unrelated to user interests" do proposal1 = create(:proposal, tag_list: "Sport") create(:follow, followable: proposal1, user: user) + debate2 = create(:debate, tag_list: "Politics") - result = Debate.recommendations(user) + results = Debate.recommendations(user) - expect(result).to eq [debate1] + expect(results).to be_empty end it "does not return debates when user is the author" do - debate1 = create(:debate, author: user, tag_list: "Sport") - debate2 = create(:debate, tag_list: "Sport") proposal = create(:proposal, tag_list: "Sport") create(:follow, followable: proposal, user: user) + debate1 = create(:debate, author: user, tag_list: "Sport") - result = Debate.recommendations(user) + results = Debate.recommendations(user) - expect(result).to eq [debate2] + expect(results).to be_empty end end diff --git a/spec/models/proposal_spec.rb b/spec/models/proposal_spec.rb index b9fd07ad0..f37f6aad3 100644 --- a/spec/models/proposal_spec.rb +++ b/spec/models/proposal_spec.rb @@ -962,7 +962,7 @@ describe Proposal do expect(Proposal.recommendations(user)).to be_empty end - it "returns proposals ordered by cached_votes_up" do + it "returns proposals related to the user's interests ordered by cached_votes_up" do proposal1 = create(:proposal, cached_votes_up: 1, tag_list: "Sport") proposal2 = create(:proposal, cached_votes_up: 5, tag_list: "Sport") proposal3 = create(:proposal, cached_votes_up: 10, tag_list: "Sport") @@ -974,58 +974,54 @@ describe Proposal do expect(results).to eq [proposal3, proposal2, proposal1] end - it "returns proposals related with user interests" do + it "does not return proposals unrelated to user interests" do proposal1 = create(:proposal, tag_list: "Sport") - proposal2 = create(:proposal, tag_list: "Sport") - proposal3 = create(:proposal, tag_list: "Politics") + proposal2 = create(:proposal, tag_list: "Politics") create(:follow, followable: proposal1, user: user) - result = Proposal.recommendations(user) + results = Proposal.recommendations(user) - expect(result).to eq [proposal2] + expect(results).to be_empty end it "does not return proposals when user is follower" do proposal1 = create(:proposal, tag_list: "Sport") create(:follow, followable: proposal1, user: user) - result = Proposal.recommendations(user) + results = Proposal.recommendations(user) - expect(result).to be_empty + expect(results).to be_empty end it "does not return proposals when user is the author" do - proposal1 = create(:proposal, author: user, tag_list: "Sport") - proposal2 = create(:proposal, tag_list: "Sport") - proposal3 = create(:proposal, tag_list: "Sport") - create(:follow, followable: proposal3, user: user) + proposal1 = create(:proposal, tag_list: "Sport") + proposal2 = create(:proposal, author: user, tag_list: "Sport") + create(:follow, followable: proposal1, user: user) - result = Proposal.recommendations(user) + results = Proposal.recommendations(user) - expect(result).to eq [proposal2] + expect(results).to be_empty end it "does not return archived proposals" do proposal1 = create(:proposal, tag_list: "Sport") - proposal2 = create(:proposal, tag_list: "Sport") archived_proposal = create(:proposal, :archived, tag_list: "Sport") create(:follow, followable: proposal1, user: user) - result = Proposal.recommendations(user) + results = Proposal.recommendations(user) - expect(result).to eq([proposal2]) + expect(results).to be_empty end it "does not return already supported proposals" do proposal1 = create(:proposal, tag_list: "Health") proposal2 = create(:proposal, tag_list: "Health") - proposal3 = create(:proposal, tag_list: "Health") create(:vote, votable: proposal1, voter: user) create(:follow, followable: proposal2, user: user) - result = Proposal.recommendations(user) + results = Proposal.recommendations(user) - expect(result).to eq([proposal3]) + expect(results).to be_empty end end