diff --git a/spec/features/budgets/investments_spec.rb b/spec/features/budgets/investments_spec.rb index 3bac8bb8d..074e4a5cb 100644 --- a/spec/features/budgets/investments_spec.rb +++ b/spec/features/budgets/investments_spec.rb @@ -994,10 +994,10 @@ describe "Budget Investments" do visit new_budget_investment_path(budget) select_options = find("#budget_investment_heading_id").all("option").collect(&:text) - expect(select_options.first).to eq("") - expect(select_options.second).to eq("Toda la ciudad") - expect(select_options.third).to eq("Health: More health professionals") - expect(select_options.fourth).to eq("Health: More hospitals") + expect(select_options).to eq ["", + "Toda la ciudad", + "Health: More health professionals", + "Health: More hospitals"] end end diff --git a/spec/helpers/geozones_helper_spec.rb b/spec/helpers/geozones_helper_spec.rb index 032c0d01c..69f4ba963 100644 --- a/spec/helpers/geozones_helper_spec.rb +++ b/spec/helpers/geozones_helper_spec.rb @@ -24,10 +24,7 @@ describe GeozonesHelper do select_options = geozone_select_options - expect(select_options.size).to eq 3 - expect(select_options.first).to eq [g1.name, g1.id] - expect(select_options[1]).to eq [g2.name, g2.id] - expect(select_options.last).to eq [g3.name, g3.id] + expect(select_options).to eq [[g1.name, g1.id], [g2.name, g2.id], [g3.name, g3.id]] end end diff --git a/spec/lib/user_segments_spec.rb b/spec/lib/user_segments_spec.rb index 9b50d59ca..6ca385867 100644 --- a/spec/lib/user_segments_spec.rb +++ b/spec/lib/user_segments_spec.rb @@ -218,8 +218,7 @@ describe UserSegments do create(:user, email: "last@email.com") emails = UserSegments.user_segment_emails(:all_users) - expect(emails.first).to eq "first@email.com" - expect(emails.last).to eq "last@email.com" + expect(emails).to eq ["first@email.com", "last@email.com"] end end diff --git a/spec/models/budget/investment_spec.rb b/spec/models/budget/investment_spec.rb index 4a740af0b..071a68731 100644 --- a/spec/models/budget/investment_spec.rb +++ b/spec/models/budget/investment_spec.rb @@ -883,9 +883,7 @@ describe Budget::Investment do most_voted = create(:budget_investment, cached_votes_up: 10) some_votes = create(:budget_investment, cached_votes_up: 5) - expect(Budget::Investment.sort_by_confidence_score.first).to eq most_voted - expect(Budget::Investment.sort_by_confidence_score.second).to eq some_votes - expect(Budget::Investment.sort_by_confidence_score.third).to eq least_voted + expect(Budget::Investment.sort_by_confidence_score).to eq [most_voted, some_votes, least_voted] end it "orders by confidence_score and then by id" do diff --git a/spec/models/debate_spec.rb b/spec/models/debate_spec.rb index 6ecaa876a..7c9f0a084 100644 --- a/spec/models/debate_spec.rb +++ b/spec/models/debate_spec.rb @@ -578,8 +578,7 @@ describe Debate do results = Debate.search("stop corruption") - expect(results.first).to eq(debate_title) - expect(results.second).to eq(debate_description) + expect(results).to eq [debate_title, debate_description] end it "orders by weight and then votes" do @@ -590,10 +589,7 @@ describe Debate do results = Debate.search("stop corruption") - expect(results.first).to eq(title_most_voted) - expect(results.second).to eq(title_some_votes) - expect(results.third).to eq(title_least_voted) - expect(results.fourth).to eq(description_most_voted) + expect(results).to eq [title_most_voted, title_some_votes, title_least_voted, description_most_voted] end it "gives much more weight to word matches than votes" do @@ -602,8 +598,7 @@ describe Debate do results = Debate.search("stop corruption") - expect(results.first).to eq(exact_title_few_votes) - expect(results.second).to eq(similar_title_many_votes) + expect(results).to eq [exact_title_few_votes, similar_title_many_votes] end end @@ -621,15 +616,11 @@ describe Debate do results = Debate.search("stop corruption") - expect(results.first).to eq(average_score) - expect(results.second).to eq(highest_score) - expect(results.third).to eq(lowest_score) + expect(results).to eq [average_score, highest_score, lowest_score] results = results.sort_by_hot_score - expect(results.first).to eq(highest_score) - expect(results.second).to eq(average_score) - expect(results.third).to eq(lowest_score) + expect(results).to eq [highest_score, average_score, lowest_score] end it "is able to reorder by confidence_score after searching" do @@ -643,15 +634,11 @@ describe Debate do results = Debate.search("stop corruption") - expect(results.first).to eq(average_score) - expect(results.second).to eq(highest_score) - expect(results.third).to eq(lowest_score) + expect(results).to eq [average_score, highest_score, lowest_score] results = results.sort_by_confidence_score - expect(results.first).to eq(highest_score) - expect(results.second).to eq(average_score) - expect(results.third).to eq(lowest_score) + expect(results).to eq [highest_score, average_score, lowest_score] end it "is able to reorder by created_at after searching" do @@ -661,15 +648,11 @@ describe Debate do results = Debate.search("stop corruption") - expect(results.first).to eq(oldest) - expect(results.second).to eq(newest) - expect(results.third).to eq(recent) + expect(results).to eq [oldest, newest, recent] results = results.sort_by_created_at - expect(results.first).to eq(newest) - expect(results.second).to eq(recent) - expect(results.third).to eq(oldest) + expect(results).to eq [newest, recent, oldest] end it "is able to reorder by most commented after searching" do @@ -679,15 +662,11 @@ describe Debate do results = Debate.search("stop corruption") - expect(results.first).to eq(some_comments) - expect(results.second).to eq(most_commented) - expect(results.third).to eq(least_commented) + expect(results).to eq [some_comments, most_commented, least_commented] results = results.sort_by_most_commented - expect(results.first).to eq(most_commented) - expect(results.second).to eq(some_comments) - expect(results.third).to eq(least_commented) + expect(results).to eq [most_commented, some_comments, least_commented] end end @@ -772,11 +751,9 @@ describe Debate do proposal = create(:proposal, tag_list: "Sport") create(:follow, followable: proposal, user: user) - result = Debate.recommendations(user).sort_by_recommendations + results = Debate.recommendations(user).sort_by_recommendations - expect(result.first).to eq debate3 - expect(result.second).to eq debate2 - expect(result.third).to eq debate1 + expect(results).to eq [debate3, debate2, debate1] end it "returns debates related with user interests" do diff --git a/spec/models/poll/officer_spec.rb b/spec/models/poll/officer_spec.rb index e772dac94..fd2165862 100644 --- a/spec/models/poll/officer_spec.rb +++ b/spec/models/poll/officer_spec.rb @@ -75,9 +75,7 @@ describe Poll::Officer do assigned_polls = officer.voting_days_assigned_polls - expect(assigned_polls.first).to eq(poll_2) - expect(assigned_polls.second).to eq(poll_1) - expect(assigned_polls.last).to eq(poll_3) + expect(assigned_polls).to eq [poll_2, poll_1, poll_3] end end @@ -126,9 +124,7 @@ describe Poll::Officer do assigned_polls = officer.final_days_assigned_polls - expect(assigned_polls.first).to eq(poll_2) - expect(assigned_polls.second).to eq(poll_1) - expect(assigned_polls.last).to eq(poll_3) + expect(assigned_polls).to eq [poll_2, poll_1, poll_3] end end diff --git a/spec/models/poll/pair_answer_spec.rb b/spec/models/poll/pair_answer_spec.rb index e9255b7df..008ab39e5 100644 --- a/spec/models/poll/pair_answer_spec.rb +++ b/spec/models/poll/pair_answer_spec.rb @@ -120,10 +120,8 @@ describe Poll::PairAnswer do describe "#answers" do let(:pair_answer) { create(:poll_pair_answer) } - it "returns and array of answers" do - expect(pair_answer.answers).to be_a Array - expect(pair_answer.answers[0]).to eq(pair_answer.answer_left) - expect(pair_answer.answers[1]).to eq(pair_answer.answer_right) + it "returns an array of answers" do + expect(pair_answer.answers).to eq [pair_answer.answer_left, pair_answer.answer_right] end end diff --git a/spec/models/proposal_spec.rb b/spec/models/proposal_spec.rb index 7ff4b40be..d7f79522d 100644 --- a/spec/models/proposal_spec.rb +++ b/spec/models/proposal_spec.rb @@ -613,9 +613,7 @@ describe Proposal do results = Proposal.search("stop corruption") - expect(results.first).to eq(proposal_title) - expect(results.second).to eq(proposal_summary) - expect(results.third).to eq(proposal_description) + expect(results).to eq [proposal_title, proposal_summary, proposal_description] end it "orders by weight and then by votes" do @@ -627,10 +625,7 @@ describe Proposal do results = Proposal.search("stop corruption") - expect(results.first).to eq(title_most_voted) - expect(results.second).to eq(title_some_votes) - expect(results.third).to eq(title_least_voted) - expect(results.fourth).to eq(summary_most_voted) + expect(results).to eq [title_most_voted, title_some_votes, title_least_voted, summary_most_voted] end it "gives much more weight to word matches than votes" do @@ -639,8 +634,7 @@ describe Proposal do results = Proposal.search("stop corruption") - expect(results.first).to eq(exact_title_few_votes) - expect(results.second).to eq(similar_title_many_votes) + expect(results).to eq [exact_title_few_votes, similar_title_many_votes] end end @@ -658,15 +652,11 @@ describe Proposal do results = Proposal.search("stop corruption") - expect(results.first).to eq(average_score) - expect(results.second).to eq(highest_score) - expect(results.third).to eq(lowest_score) + expect(results).to eq [average_score, highest_score, lowest_score] results = results.sort_by_hot_score - expect(results.first).to eq(highest_score) - expect(results.second).to eq(average_score) - expect(results.third).to eq(lowest_score) + expect(results).to eq [highest_score, average_score, lowest_score] end it "is able to reorder by confidence_score after searching" do @@ -680,15 +670,11 @@ describe Proposal do results = Proposal.search("stop corruption") - expect(results.first).to eq(average_score) - expect(results.second).to eq(highest_score) - expect(results.third).to eq(lowest_score) + expect(results).to eq [average_score, highest_score, lowest_score] results = results.sort_by_confidence_score - expect(results.first).to eq(highest_score) - expect(results.second).to eq(average_score) - expect(results.third).to eq(lowest_score) + expect(results).to eq [highest_score, average_score, lowest_score] end it "is able to reorder by created_at after searching" do @@ -698,15 +684,11 @@ describe Proposal do results = Proposal.search("stop corruption") - expect(results.first).to eq(oldest) - expect(results.second).to eq(newest) - expect(results.third).to eq(recent) + expect(results).to eq [oldest, newest, recent] results = results.sort_by_created_at - expect(results.first).to eq(newest) - expect(results.second).to eq(recent) - expect(results.third).to eq(oldest) + expect(results).to eq [newest, recent, oldest] end it "is able to reorder by most commented after searching" do @@ -716,15 +698,11 @@ describe Proposal do results = Proposal.search("stop corruption") - expect(results.first).to eq(some_comments) - expect(results.second).to eq(most_commented) - expect(results.third).to eq(least_commented) + expect(results).to eq [some_comments, most_commented, least_commented] results = results.sort_by_most_commented - expect(results.first).to eq(most_commented) - expect(results.second).to eq(some_comments) - expect(results.third).to eq(least_commented) + expect(results).to eq [most_commented, some_comments, least_commented] end end @@ -824,15 +802,13 @@ describe Proposal do it "orders proposals by votes" do create(:tag, :category, name: "culture") - create(:proposal, tag_list: "culture").update_column(:confidence_score, 2) + create(:proposal, tag_list: "culture").update_column(:confidence_score, 2) create(:proposal, tag_list: "culture").update_column(:confidence_score, 10) create(:proposal, tag_list: "culture").update_column(:confidence_score, 5) results = Proposal.for_summary.values.flatten - expect(results.first.confidence_score).to be(10) - expect(results.second.confidence_score).to be(5) - expect(results.third.confidence_score).to be(2) + expect(results.map(&:confidence_score)).to eq [10, 5, 2] end it "orders groups alphabetically" do @@ -846,9 +822,7 @@ describe Proposal do results = Proposal.for_summary.values.flatten - expect(results.first).to eq(culture_proposal) - expect(results.second).to eq(health_proposal) - expect(results.third).to eq(social_proposal) + expect(results).to eq [culture_proposal, health_proposal, social_proposal] end it "returns proposals grouped by tag" do @@ -992,11 +966,9 @@ describe Proposal do proposal4 = create(:proposal, tag_list: "Sport") create(:follow, followable: proposal4, user: user) - result = Proposal.recommendations(user).sort_by_recommendations + results = Proposal.recommendations(user).sort_by_recommendations - expect(result.first).to eq proposal3 - expect(result.second).to eq proposal2 - expect(result.third).to eq proposal1 + expect(results).to eq [proposal3, proposal2, proposal1] end it "returns proposals related with user interests" do diff --git a/spec/models/tag_cloud_spec.rb b/spec/models/tag_cloud_spec.rb index 8c92f353d..e5a3073d3 100644 --- a/spec/models/tag_cloud_spec.rb +++ b/spec/models/tag_cloud_spec.rb @@ -97,8 +97,7 @@ describe TagCloud do tag_cloud = TagCloud.new(Proposal) - expect(tag_names(tag_cloud).first).to eq "participation" - expect(tag_names(tag_cloud).second).to eq "corruption" + expect(tag_names(tag_cloud)).to eq ["participation", "corruption"] end it "orders tags by count and then by name" do @@ -108,9 +107,7 @@ describe TagCloud do tag_cloud = TagCloud.new(Proposal) - expect(tag_names(tag_cloud).first).to eq "health" - expect(tag_names(tag_cloud).second).to eq "participation" - expect(tag_names(tag_cloud).third).to eq "corruption" + expect(tag_names(tag_cloud)).to eq ["health", "participation", "corruption"] end it "returns a maximum of 10 tags" do diff --git a/spec/models/topic_spec.rb b/spec/models/topic_spec.rb index 8f2446340..f361eeb69 100644 --- a/spec/models/topic_spec.rb +++ b/spec/models/topic_spec.rb @@ -37,9 +37,7 @@ describe Topic do results = community.topics.sort_by_newest - expect(results.first).to eq(topic3) - expect(results.second).to eq(topic2) - expect(results.third).to eq(topic1) + expect(results).to eq [topic3, topic2, topic1] end it "orders by oldest" do @@ -68,9 +66,7 @@ describe Topic do results = community.topics.sort_by_most_commented - expect(results.first).to eq(topic1) - expect(results.second).to eq(topic2) - expect(results.third).to eq(topic3) + expect(results).to eq [topic1, topic2, topic3] end end