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:
Javi Martín
2019-09-26 19:55:55 +02:00
parent fd1325768f
commit 35143ac43e
6 changed files with 51 additions and 54 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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