Use be_empty instead of not_to include
Using `not_to include` does not test for other elements which could be present in the array.
This commit is contained in:
@@ -91,13 +91,13 @@ describe ActsAsTaggableOn do
|
||||
proposal.tag_list.add(tag)
|
||||
proposal.save
|
||||
|
||||
expect(ActsAsTaggableOn::Tag.public_for_api).not_to include(tag)
|
||||
expect(ActsAsTaggableOn::Tag.public_for_api).to be_empty
|
||||
end
|
||||
|
||||
it "blocks tags that don't have at least one tagged element" do
|
||||
tag = create(:tag)
|
||||
create(:tag)
|
||||
|
||||
expect(ActsAsTaggableOn::Tag.public_for_api).not_to include(tag)
|
||||
expect(ActsAsTaggableOn::Tag.public_for_api).to be_empty
|
||||
end
|
||||
|
||||
it "only permits tags on proposals or debates" do
|
||||
|
||||
@@ -143,9 +143,9 @@ describe Comment do
|
||||
end
|
||||
|
||||
it "does not return hidden comments" do
|
||||
hidden_comment = create(:comment, :hidden)
|
||||
create(:comment, :hidden)
|
||||
|
||||
expect(Comment.public_for_api).not_to include(hidden_comment)
|
||||
expect(Comment.public_for_api).to be_empty
|
||||
end
|
||||
|
||||
it "returns comments on debates" do
|
||||
@@ -155,10 +155,9 @@ describe Comment do
|
||||
end
|
||||
|
||||
it "does not return comments on hidden debates" do
|
||||
hidden_debate = create(:debate, :hidden)
|
||||
comment = create(:comment, commentable: hidden_debate)
|
||||
create(:comment, commentable: create(:debate, :hidden))
|
||||
|
||||
expect(Comment.public_for_api).not_to include(comment)
|
||||
expect(Comment.public_for_api).to be_empty
|
||||
end
|
||||
|
||||
it "returns comments on proposals" do
|
||||
@@ -169,29 +168,27 @@ describe Comment do
|
||||
end
|
||||
|
||||
it "does not return comments on hidden proposals" do
|
||||
hidden_proposal = create(:proposal, :hidden)
|
||||
comment = create(:comment, commentable: hidden_proposal)
|
||||
create(:comment, commentable: create(:proposal, :hidden))
|
||||
|
||||
expect(Comment.public_for_api).not_to include(comment)
|
||||
expect(Comment.public_for_api).to be_empty
|
||||
end
|
||||
|
||||
it "does not return comments on elements which are not debates or proposals" do
|
||||
budget_investment = create(:budget_investment)
|
||||
comment = create(:comment, commentable: budget_investment)
|
||||
create(:comment, commentable: create(:budget_investment))
|
||||
|
||||
expect(Comment.public_for_api).not_to include(comment)
|
||||
expect(Comment.public_for_api).to be_empty
|
||||
end
|
||||
|
||||
it "does not return comments with no commentable" do
|
||||
comment = build(:comment, commentable: nil).save!(validate: false)
|
||||
build(:comment, commentable: nil).save!(validate: false)
|
||||
|
||||
expect(Comment.public_for_api).not_to include(comment)
|
||||
expect(Comment.public_for_api).to be_empty
|
||||
end
|
||||
|
||||
it "does not return internal valuation comments" do
|
||||
valuation_comment = create(:comment, :valuation)
|
||||
create(:comment, :valuation)
|
||||
|
||||
expect(Comment.public_for_api).not_to include(valuation_comment)
|
||||
expect(Comment.public_for_api).to be_empty
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -712,8 +712,9 @@ describe Debate do
|
||||
end
|
||||
|
||||
it "does not show debates created more than a week ago" do
|
||||
debate = create(:debate, created_at: 8.days.ago)
|
||||
expect(Debate.last_week.all).not_to include debate
|
||||
create(:debate, created_at: 8.days.ago)
|
||||
|
||||
expect(Debate.last_week.all).to be_empty
|
||||
end
|
||||
end
|
||||
|
||||
@@ -731,8 +732,9 @@ describe Debate do
|
||||
end
|
||||
|
||||
it "does not return hidden debates" do
|
||||
debate = create(:debate, :hidden)
|
||||
expect(Debate.public_for_api).not_to include(debate)
|
||||
create(:debate, :hidden)
|
||||
|
||||
expect(Debate.public_for_api).to be_empty
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -30,16 +30,15 @@ describe ProposalNotification do
|
||||
end
|
||||
|
||||
it "blocks proposal notifications whose proposal is hidden" do
|
||||
proposal = create(:proposal, :hidden)
|
||||
notification = create(:proposal_notification, proposal: proposal)
|
||||
create(:proposal_notification, proposal: create(:proposal, :hidden))
|
||||
|
||||
expect(ProposalNotification.public_for_api).not_to include(notification)
|
||||
expect(ProposalNotification.public_for_api).to be_empty
|
||||
end
|
||||
|
||||
it "blocks proposal notifications without proposal" do
|
||||
build(:proposal_notification, proposal: nil).save!(validate: false)
|
||||
|
||||
expect(ProposalNotification.public_for_api).not_to include(notification)
|
||||
expect(ProposalNotification.public_for_api).to be_empty
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -745,8 +745,9 @@ describe Proposal do
|
||||
end
|
||||
|
||||
it "does not return proposals created more than a week ago" do
|
||||
proposal = create(:proposal, created_at: 8.days.ago)
|
||||
expect(Proposal.last_week).not_to include(proposal)
|
||||
create(:proposal, created_at: 8.days.ago)
|
||||
|
||||
expect(Proposal.last_week).to be_empty
|
||||
end
|
||||
end
|
||||
|
||||
@@ -763,9 +764,9 @@ describe Proposal do
|
||||
|
||||
it "does not return proposals tagged without a category" do
|
||||
create(:tag, :category, name: "culture")
|
||||
proposal = create(:proposal, tag_list: "parks")
|
||||
create(:proposal, tag_list: "parks")
|
||||
|
||||
expect(Proposal.for_summary.values.flatten).not_to include(proposal)
|
||||
expect(Proposal.for_summary.values.flatten).to be_empty
|
||||
end
|
||||
end
|
||||
|
||||
@@ -780,9 +781,9 @@ describe Proposal do
|
||||
|
||||
it "does not return proposals without a geozone" do
|
||||
create(:geozone, name: "california")
|
||||
proposal = create(:proposal)
|
||||
create(:proposal)
|
||||
|
||||
expect(Proposal.for_summary.values.flatten).not_to include(proposal)
|
||||
expect(Proposal.for_summary.values.flatten).to be_empty
|
||||
end
|
||||
end
|
||||
|
||||
@@ -795,8 +796,9 @@ describe Proposal do
|
||||
|
||||
it "does not return proposals created more than a week ago" do
|
||||
create(:tag, :category, name: "culture")
|
||||
proposal = create(:proposal, tag_list: "culture", created_at: 8.days.ago)
|
||||
expect(Proposal.for_summary.values.flatten).not_to include(proposal)
|
||||
create(:proposal, tag_list: "culture", created_at: 8.days.ago)
|
||||
|
||||
expect(Proposal.for_summary.values.flatten).to be_empty
|
||||
end
|
||||
|
||||
it "orders proposals by votes" do
|
||||
@@ -908,8 +910,9 @@ describe Proposal do
|
||||
end
|
||||
|
||||
it "does not return hidden proposals" do
|
||||
proposal = create(:proposal, :hidden)
|
||||
expect(Proposal.public_for_api).not_to include(proposal)
|
||||
create(:proposal, :hidden)
|
||||
|
||||
expect(Proposal.public_for_api).to be_empty
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -50,10 +50,9 @@ describe Vote do
|
||||
end
|
||||
|
||||
it "blocks votes on hidden debates" do
|
||||
debate = create(:debate, :hidden)
|
||||
vote = create(:vote, votable: debate)
|
||||
create(:vote, votable: create(:debate, :hidden))
|
||||
|
||||
expect(Vote.public_for_api).not_to include(vote)
|
||||
expect(Vote.public_for_api).to be_empty
|
||||
end
|
||||
|
||||
it "returns votes on proposals" do
|
||||
@@ -64,10 +63,9 @@ describe Vote do
|
||||
end
|
||||
|
||||
it "blocks votes on hidden proposals" do
|
||||
proposal = create(:proposal, :hidden)
|
||||
vote = create(:vote, votable: proposal)
|
||||
create(:vote, votable: create(:proposal, :hidden))
|
||||
|
||||
expect(Vote.public_for_api).not_to include(vote)
|
||||
expect(Vote.public_for_api).to be_empty
|
||||
end
|
||||
|
||||
it "returns votes on comments" do
|
||||
@@ -78,39 +76,37 @@ describe Vote do
|
||||
end
|
||||
|
||||
it "blocks votes on hidden comments" do
|
||||
comment = create(:comment, :hidden)
|
||||
vote = create(:vote, votable: comment)
|
||||
create(:vote, votable: create(:comment, :hidden))
|
||||
|
||||
expect(Vote.public_for_api).not_to include(vote)
|
||||
expect(Vote.public_for_api).to be_empty
|
||||
end
|
||||
|
||||
it "blocks votes on comments on hidden proposals" do
|
||||
hidden_proposal = create(:proposal, :hidden)
|
||||
comment_on_hidden_proposal = create(:comment, commentable: hidden_proposal)
|
||||
vote = create(:vote, votable: comment_on_hidden_proposal)
|
||||
create(:vote, votable: comment_on_hidden_proposal)
|
||||
|
||||
expect(Vote.public_for_api).not_to include(vote)
|
||||
expect(Vote.public_for_api).to be_empty
|
||||
end
|
||||
|
||||
it "blocks votes on comments on hidden debates" do
|
||||
hidden_debate = create(:debate, :hidden)
|
||||
comment_on_hidden_debate = create(:comment, commentable: hidden_debate)
|
||||
vote = create(:vote, votable: comment_on_hidden_debate)
|
||||
create(:vote, votable: comment_on_hidden_debate)
|
||||
|
||||
expect(Vote.public_for_api).not_to include(vote)
|
||||
expect(Vote.public_for_api).to be_empty
|
||||
end
|
||||
|
||||
it "blocks any other kind of votes" do
|
||||
budget_investment = create(:budget_investment)
|
||||
vote = create(:vote, votable: budget_investment)
|
||||
create(:vote, votable: create(:budget_investment))
|
||||
|
||||
expect(Vote.public_for_api).not_to include(vote)
|
||||
expect(Vote.public_for_api).to be_empty
|
||||
end
|
||||
|
||||
it "blocks votes without votable" do
|
||||
vote = build(:vote, votable: nil).save!(validate: false)
|
||||
build(:vote, votable: nil).save!(validate: false)
|
||||
|
||||
expect(Vote.public_for_api).not_to include(vote)
|
||||
expect(Vote.public_for_api).to be_empty
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user