Enable RSpec/ExpectActual cop and fix all issues
Always use a variable and not a literal as `expect` argument Read about cop at http://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ExpectActual
This commit is contained in:
@@ -74,4 +74,7 @@ RSpec/ExampleLength:
|
|||||||
Enabled: false
|
Enabled: false
|
||||||
|
|
||||||
RSpec/ExampleWording:
|
RSpec/ExampleWording:
|
||||||
|
Enabled: true
|
||||||
|
|
||||||
|
RSpec/ExpectActual:
|
||||||
Enabled: true
|
Enabled: true
|
||||||
@@ -203,17 +203,20 @@ feature 'Budget Investments' do
|
|||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Proposals are ordered by confidence_score', :js do
|
scenario 'Proposals are ordered by confidence_score', :js do
|
||||||
create(:budget_investment, heading: heading, title: 'Best proposal').update_column(:confidence_score, 10)
|
best_proposal = create(:budget_investment, heading: heading, title: 'Best proposal')
|
||||||
create(:budget_investment, heading: heading, title: 'Worst proposal').update_column(:confidence_score, 2)
|
best_proposal.update_column(:confidence_score, 10)
|
||||||
create(:budget_investment, heading: heading, title: 'Medium proposal').update_column(:confidence_score, 5)
|
worst_proposal = create(:budget_investment, heading: heading, title: 'Worst proposal')
|
||||||
|
worst_proposal.update_column(:confidence_score, 2)
|
||||||
|
medium_proposal = create(:budget_investment, heading: heading, title: 'Medium proposal')
|
||||||
|
medium_proposal.update_column(:confidence_score, 5)
|
||||||
|
|
||||||
visit budget_investments_path(budget, heading_id: heading.id)
|
visit budget_investments_path(budget, heading_id: heading.id)
|
||||||
click_link 'highest rated'
|
click_link 'highest rated'
|
||||||
expect(page).to have_selector('a.active', text: 'highest rated')
|
expect(page).to have_selector('a.active', text: 'highest rated')
|
||||||
|
|
||||||
within '#budget-investments' do
|
within '#budget-investments' do
|
||||||
expect('Best proposal').to appear_before('Medium proposal')
|
expect(best_proposal.title).to appear_before(medium_proposal.title)
|
||||||
expect('Medium proposal').to appear_before('Worst proposal')
|
expect(medium_proposal.title).to appear_before(worst_proposal.title)
|
||||||
end
|
end
|
||||||
|
|
||||||
expect(current_url).to include('order=confidence_score')
|
expect(current_url).to include('order=confidence_score')
|
||||||
@@ -739,9 +742,11 @@ feature 'Budget Investments' do
|
|||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Order by cost (only when balloting)' do
|
scenario 'Order by cost (only when balloting)' do
|
||||||
create(:budget_investment, :selected, heading: heading, title: 'Build a nice house', price: 1000).update_column(:confidence_score, 10)
|
mid_investment = create(:budget_investment, :selected, heading: heading, title: 'Build a nice house', price: 1000)
|
||||||
create(:budget_investment, :selected, heading: heading, title: 'Build an ugly house', price: 1000).update_column(:confidence_score, 5)
|
mid_investment.update_column(:confidence_score, 10)
|
||||||
create(:budget_investment, :selected, heading: heading, title: 'Build a skyscraper', price: 20000)
|
low_investment = create(:budget_investment, :selected, heading: heading, title: 'Build an ugly house', price: 1000)
|
||||||
|
low_investment.update_column(:confidence_score, 5)
|
||||||
|
high_investment = create(:budget_investment, :selected, heading: heading, title: 'Build a skyscraper', price: 20000)
|
||||||
|
|
||||||
visit budget_investments_path(budget, heading_id: heading.id)
|
visit budget_investments_path(budget, heading_id: heading.id)
|
||||||
|
|
||||||
@@ -749,8 +754,8 @@ feature 'Budget Investments' do
|
|||||||
expect(page).to have_selector('a.active', text: 'by price')
|
expect(page).to have_selector('a.active', text: 'by price')
|
||||||
|
|
||||||
within '#budget-investments' do
|
within '#budget-investments' do
|
||||||
expect('Build a skyscraper').to appear_before('Build a nice house')
|
expect(high_investment.title).to appear_before(mid_investment.title)
|
||||||
expect('Build a nice house').to appear_before('Build an ugly house')
|
expect(mid_investment.title).to appear_before(low_investment.title)
|
||||||
end
|
end
|
||||||
|
|
||||||
expect(current_url).to include('order=price')
|
expect(current_url).to include('order=price')
|
||||||
|
|||||||
@@ -309,20 +309,26 @@ feature 'Debates' do
|
|||||||
feature 'Debate index order filters' do
|
feature 'Debate index order filters' do
|
||||||
|
|
||||||
scenario 'Default order is hot_score', :js do
|
scenario 'Default order is hot_score', :js do
|
||||||
create(:debate, title: 'Best').update_column(:hot_score, 10)
|
best_debate = create(:debate, title: 'Best')
|
||||||
create(:debate, title: 'Worst').update_column(:hot_score, 2)
|
best_debate.update_column(:hot_score, 10)
|
||||||
create(:debate, title: 'Medium').update_column(:hot_score, 5)
|
worst_debate = create(:debate, title: 'Worst')
|
||||||
|
worst_debate.update_column(:hot_score, 2)
|
||||||
|
medium_debate = create(:debate, title: 'Medium')
|
||||||
|
medium_debate.update_column(:hot_score, 5)
|
||||||
|
|
||||||
visit debates_path
|
visit debates_path
|
||||||
|
|
||||||
expect('Best').to appear_before('Medium')
|
expect(best_debate.title).to appear_before(medium_debate.title)
|
||||||
expect('Medium').to appear_before('Worst')
|
expect(medium_debate.title).to appear_before(worst_debate.title)
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Debates are ordered by confidence_score', :js do
|
scenario 'Debates are ordered by confidence_score', :js do
|
||||||
create(:debate, title: 'Best').update_column(:confidence_score, 10)
|
best_debate = create(:debate, title: 'Best')
|
||||||
create(:debate, title: 'Worst').update_column(:confidence_score, 2)
|
best_debate.update_column(:confidence_score, 10)
|
||||||
create(:debate, title: 'Medium').update_column(:confidence_score, 5)
|
worst_debate = create(:debate, title: 'Worst')
|
||||||
|
worst_debate.update_column(:confidence_score, 2)
|
||||||
|
medium_debate = create(:debate, title: 'Medium')
|
||||||
|
medium_debate.update_column(:confidence_score, 5)
|
||||||
|
|
||||||
visit debates_path
|
visit debates_path
|
||||||
click_link 'highest rated'
|
click_link 'highest rated'
|
||||||
@@ -330,8 +336,8 @@ feature 'Debates' do
|
|||||||
expect(page).to have_selector('a.active', text: 'highest rated')
|
expect(page).to have_selector('a.active', text: 'highest rated')
|
||||||
|
|
||||||
within '#debates' do
|
within '#debates' do
|
||||||
expect('Best').to appear_before('Medium')
|
expect(best_debate.title).to appear_before(medium_debate.title)
|
||||||
expect('Medium').to appear_before('Worst')
|
expect(medium_debate.title).to appear_before(worst_debate.title)
|
||||||
end
|
end
|
||||||
|
|
||||||
expect(current_url).to include('order=confidence_score')
|
expect(current_url).to include('order=confidence_score')
|
||||||
@@ -339,9 +345,9 @@ feature 'Debates' do
|
|||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Debates are ordered by newest', :js do
|
scenario 'Debates are ordered by newest', :js do
|
||||||
create(:debate, title: 'Best', created_at: Time.current)
|
best_debate = create(:debate, title: 'Best', created_at: Time.current)
|
||||||
create(:debate, title: 'Medium', created_at: Time.current - 1.hour)
|
medium_debate = create(:debate, title: 'Medium', created_at: Time.current - 1.hour)
|
||||||
create(:debate, title: 'Worst', created_at: Time.current - 1.day)
|
worst_debate = create(:debate, title: 'Worst', created_at: Time.current - 1.day)
|
||||||
|
|
||||||
visit debates_path
|
visit debates_path
|
||||||
click_link 'newest'
|
click_link 'newest'
|
||||||
@@ -349,8 +355,8 @@ feature 'Debates' do
|
|||||||
expect(page).to have_selector('a.active', text: 'newest')
|
expect(page).to have_selector('a.active', text: 'newest')
|
||||||
|
|
||||||
within '#debates' do
|
within '#debates' do
|
||||||
expect('Best').to appear_before('Medium')
|
expect(best_debate.title).to appear_before(medium_debate.title)
|
||||||
expect('Medium').to appear_before('Worst')
|
expect(medium_debate.title).to appear_before(worst_debate.title)
|
||||||
end
|
end
|
||||||
|
|
||||||
expect(current_url).to include('order=created_at')
|
expect(current_url).to include('order=created_at')
|
||||||
@@ -359,11 +365,12 @@ feature 'Debates' do
|
|||||||
|
|
||||||
context 'Recommendations' do
|
context 'Recommendations' do
|
||||||
|
|
||||||
|
let!(:best_debate) { create(:debate, title: 'Best', cached_votes_total: 10, tag_list: "Sport") }
|
||||||
|
let!(:medium_debate) { create(:debate, title: 'Medium', cached_votes_total: 5, tag_list: "Sport") }
|
||||||
|
let!(:worst_debate) { create(:debate, title: 'Worst', cached_votes_total: 1, tag_list: "Sport") }
|
||||||
|
|
||||||
background do
|
background do
|
||||||
Setting['feature.user.recommendations'] = true
|
Setting['feature.user.recommendations'] = true
|
||||||
create(:debate, title: 'Best', cached_votes_total: 10, tag_list: "Sport")
|
|
||||||
create(:debate, title: 'Medium', cached_votes_total: 5, tag_list: "Sport")
|
|
||||||
create(:debate, title: 'Worst', cached_votes_total: 1, tag_list: "Sport")
|
|
||||||
end
|
end
|
||||||
|
|
||||||
after do
|
after do
|
||||||
@@ -411,8 +418,8 @@ feature 'Debates' do
|
|||||||
expect(page).to have_selector('a.active', text: 'recommendations')
|
expect(page).to have_selector('a.active', text: 'recommendations')
|
||||||
|
|
||||||
within '#debates' do
|
within '#debates' do
|
||||||
expect('Best').to appear_before('Medium')
|
expect(best_debate.title).to appear_before(medium_debate.title)
|
||||||
expect('Medium').to appear_before('Worst')
|
expect(medium_debate.title).to appear_before(worst_debate.title)
|
||||||
end
|
end
|
||||||
|
|
||||||
expect(current_url).to include('order=recommendations')
|
expect(current_url).to include('order=recommendations')
|
||||||
|
|||||||
@@ -275,10 +275,10 @@ feature 'Budget Investments' do
|
|||||||
|
|
||||||
scenario "Filtering budget investments by heading to be printed", :js do
|
scenario "Filtering budget investments by heading to be printed", :js do
|
||||||
district_9 = create(:budget_heading, group: @group, name: "District Nine")
|
district_9 = create(:budget_heading, group: @group, name: "District Nine")
|
||||||
create(:budget_investment, budget: @budget, title: 'Change district 9', heading: district_9, cached_votes_up: 10)
|
low_investment = create(:budget_investment, budget: @budget, title: 'Nuke district 9', heading: district_9, cached_votes_up: 1)
|
||||||
create(:budget_investment, budget: @budget, title: 'Destroy district 9', heading: district_9, cached_votes_up: 100)
|
mid_investment = create(:budget_investment, budget: @budget, title: 'Change district 9', heading: district_9, cached_votes_up: 10)
|
||||||
create(:budget_investment, budget: @budget, title: 'Nuke district 9', heading: district_9, cached_votes_up: 1)
|
top_investment = create(:budget_investment, budget: @budget, title: 'Destroy district 9', heading: district_9, cached_votes_up: 100)
|
||||||
create(:budget_investment, budget: @budget, title: 'Add new districts to the city')
|
unvoted_investment = create(:budget_investment, budget: @budget, title: 'Add new districts to the city')
|
||||||
|
|
||||||
user = create(:user, :level_two)
|
user = create(:user, :level_two)
|
||||||
login_managed_user(user)
|
login_managed_user(user)
|
||||||
@@ -290,19 +290,19 @@ feature 'Budget Investments' do
|
|||||||
end
|
end
|
||||||
|
|
||||||
within '#budget-investments' do
|
within '#budget-investments' do
|
||||||
expect(page).to have_content('Add new districts to the city')
|
expect(page).to have_content(unvoted_investment.title)
|
||||||
expect(page).to have_content('Change district 9')
|
expect(page).to have_content(mid_investment.title)
|
||||||
expect(page).to have_content('Destroy district 9')
|
expect(page).to have_content(top_investment.title)
|
||||||
expect(page).to have_content('Nuke district 9')
|
expect(page).to have_content(low_investment.title)
|
||||||
end
|
end
|
||||||
|
|
||||||
select 'Whole city: District Nine', from: 'heading_id'
|
select 'Whole city: District Nine', from: 'heading_id'
|
||||||
click_button("Search")
|
click_button("Search")
|
||||||
|
|
||||||
within '#budget-investments' do
|
within '#budget-investments' do
|
||||||
expect(page).to_not have_content('Add new districts to the city')
|
expect(page).to_not have_content(unvoted_investment.title)
|
||||||
expect('Destroy district 9').to appear_before('Change district 9')
|
expect(top_investment.title).to appear_before(mid_investment.title)
|
||||||
expect('Change district 9').to appear_before('Nuke district 9')
|
expect(mid_investment.title).to appear_before(low_investment.title)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -194,9 +194,12 @@ feature 'Proposals' do
|
|||||||
end
|
end
|
||||||
|
|
||||||
scenario "Filtering proposals to be printed", :js do
|
scenario "Filtering proposals to be printed", :js do
|
||||||
create(:proposal, title: 'Worst proposal').update_column(:confidence_score, 2)
|
worst_proposal = create(:proposal, title: 'Worst proposal')
|
||||||
create(:proposal, title: 'Best proposal').update_column(:confidence_score, 10)
|
worst_proposal.update_column(:confidence_score, 2)
|
||||||
create(:proposal, title: 'Medium proposal').update_column(:confidence_score, 5)
|
best_proposal = create(:proposal, title: 'Best proposal')
|
||||||
|
best_proposal.update_column(:confidence_score, 10)
|
||||||
|
medium_proposal = create(:proposal, title: 'Medium proposal')
|
||||||
|
medium_proposal.update_column(:confidence_score, 5)
|
||||||
|
|
||||||
user = create(:user, :level_two)
|
user = create(:user, :level_two)
|
||||||
login_managed_user(user)
|
login_managed_user(user)
|
||||||
@@ -206,8 +209,8 @@ feature 'Proposals' do
|
|||||||
expect(page).to have_selector('.js-order-selector[data-order="confidence_score"]')
|
expect(page).to have_selector('.js-order-selector[data-order="confidence_score"]')
|
||||||
|
|
||||||
within(".proposals-list") do
|
within(".proposals-list") do
|
||||||
expect('Best proposal').to appear_before('Medium proposal')
|
expect(best_proposal.title).to appear_before(medium_proposal.title)
|
||||||
expect('Medium proposal').to appear_before('Worst proposal')
|
expect(medium_proposal.title).to appear_before(worst_proposal.title)
|
||||||
end
|
end
|
||||||
|
|
||||||
select 'newest', from: 'order-selector'
|
select 'newest', from: 'order-selector'
|
||||||
@@ -218,8 +221,8 @@ feature 'Proposals' do
|
|||||||
expect(current_url).to include('page=1')
|
expect(current_url).to include('page=1')
|
||||||
|
|
||||||
within(".proposals-list") do
|
within(".proposals-list") do
|
||||||
expect('Medium proposal').to appear_before('Best proposal')
|
expect(medium_proposal.title).to appear_before(best_proposal.title)
|
||||||
expect('Best proposal').to appear_before('Worst proposal')
|
expect(best_proposal.title).to appear_before(worst_proposal.title)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -170,27 +170,27 @@ feature 'Moderate comments' do
|
|||||||
end
|
end
|
||||||
|
|
||||||
scenario "sorting comments" do
|
scenario "sorting comments" do
|
||||||
create(:comment, body: "Flagged comment", created_at: Time.current - 1.day, flags_count: 5)
|
flagged_comment = create(:comment, body: "Flagged comment", created_at: Time.current - 1.day, flags_count: 5)
|
||||||
create(:comment, body: "Flagged newer comment", created_at: Time.current - 12.hours, flags_count: 3)
|
flagged_new_comment = create(:comment, body: "Flagged new comment", created_at: Time.current - 12.hours, flags_count: 3)
|
||||||
create(:comment, body: "Newer comment", created_at: Time.current)
|
newer_comment = create(:comment, body: "Newer comment", created_at: Time.current)
|
||||||
|
|
||||||
visit moderation_comments_path(order: 'newest')
|
visit moderation_comments_path(order: 'newest')
|
||||||
|
|
||||||
expect("Flagged newer comment").to appear_before("Flagged comment")
|
expect(flagged_new_comment.body).to appear_before(flagged_comment.body)
|
||||||
|
|
||||||
visit moderation_comments_path(order: 'flags')
|
visit moderation_comments_path(order: 'flags')
|
||||||
|
|
||||||
expect("Flagged comment").to appear_before("Flagged newer comment")
|
expect(flagged_comment.body).to appear_before(flagged_new_comment.body)
|
||||||
|
|
||||||
visit moderation_comments_path(filter: 'all', order: 'newest')
|
visit moderation_comments_path(filter: 'all', order: 'newest')
|
||||||
|
|
||||||
expect("Newer comment").to appear_before("Flagged newer comment")
|
expect(newer_comment.body).to appear_before(flagged_new_comment.body)
|
||||||
expect("Flagged newer comment").to appear_before("Flagged comment")
|
expect(flagged_new_comment.body).to appear_before(flagged_comment.body)
|
||||||
|
|
||||||
visit moderation_comments_path(filter: 'all', order: 'flags')
|
visit moderation_comments_path(filter: 'all', order: 'flags')
|
||||||
|
|
||||||
expect("Flagged comment").to appear_before("Flagged newer comment")
|
expect(flagged_comment.body).to appear_before(flagged_new_comment.body)
|
||||||
expect("Flagged newer comment").to appear_before("Newer comment")
|
expect(flagged_new_comment.body).to appear_before(newer_comment.body)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -179,27 +179,27 @@ feature 'Moderate debates' do
|
|||||||
end
|
end
|
||||||
|
|
||||||
scenario "sorting debates" do
|
scenario "sorting debates" do
|
||||||
create(:debate, title: "Flagged debate", created_at: Time.current - 1.day, flags_count: 5)
|
flagged_debate = create(:debate, title: "Flagged debate", created_at: Time.current - 1.day, flags_count: 5)
|
||||||
create(:debate, title: "Flagged newer debate", created_at: Time.current - 12.hours, flags_count: 3)
|
flagged_new_debate = create(:debate, title: "Flagged new debate", created_at: Time.current - 12.hours, flags_count: 3)
|
||||||
create(:debate, title: "Newer debate", created_at: Time.current)
|
newer_debate = create(:debate, title: "Newer debate", created_at: Time.current)
|
||||||
|
|
||||||
visit moderation_debates_path(order: 'created_at')
|
visit moderation_debates_path(order: 'created_at')
|
||||||
|
|
||||||
expect("Flagged newer debate").to appear_before("Flagged debate")
|
expect(flagged_new_debate.title).to appear_before(flagged_debate.title)
|
||||||
|
|
||||||
visit moderation_debates_path(order: 'flags')
|
visit moderation_debates_path(order: 'flags')
|
||||||
|
|
||||||
expect("Flagged debate").to appear_before("Flagged newer debate")
|
expect(flagged_debate.title).to appear_before(flagged_new_debate.title)
|
||||||
|
|
||||||
visit moderation_debates_path(filter: 'all', order: 'created_at')
|
visit moderation_debates_path(filter: 'all', order: 'created_at')
|
||||||
|
|
||||||
expect("Newer debate").to appear_before("Flagged newer debate")
|
expect(newer_debate.title).to appear_before(flagged_new_debate.title)
|
||||||
expect("Flagged newer debate").to appear_before("Flagged debate")
|
expect(flagged_new_debate.title).to appear_before(flagged_debate.title)
|
||||||
|
|
||||||
visit moderation_debates_path(filter: 'all', order: 'flags')
|
visit moderation_debates_path(filter: 'all', order: 'flags')
|
||||||
|
|
||||||
expect("Flagged debate").to appear_before("Flagged newer debate")
|
expect(flagged_debate.title).to appear_before(flagged_new_debate.title)
|
||||||
expect("Flagged newer debate").to appear_before("Newer debate")
|
expect(flagged_new_debate.title).to appear_before(newer_debate.title)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -179,27 +179,27 @@ feature 'Moderate proposals' do
|
|||||||
end
|
end
|
||||||
|
|
||||||
scenario "sorting proposals" do
|
scenario "sorting proposals" do
|
||||||
create(:proposal, title: "Flagged proposal", created_at: Time.current - 1.day, flags_count: 5)
|
flagged_proposal = create(:proposal, title: "Flagged proposal", created_at: Time.current - 1.day, flags_count: 5)
|
||||||
create(:proposal, title: "Flagged newer proposal", created_at: Time.current - 12.hours, flags_count: 3)
|
flagged_new_proposal = create(:proposal, title: "Flagged new proposal", created_at: Time.current - 12.hours, flags_count: 3)
|
||||||
create(:proposal, title: "Newer proposal", created_at: Time.current)
|
newer_proposal = create(:proposal, title: "Newer proposal", created_at: Time.current)
|
||||||
|
|
||||||
visit moderation_proposals_path(order: 'created_at')
|
visit moderation_proposals_path(order: 'created_at')
|
||||||
|
|
||||||
expect("Flagged newer proposal").to appear_before("Flagged proposal")
|
expect(flagged_new_proposal.title).to appear_before(flagged_proposal.title)
|
||||||
|
|
||||||
visit moderation_proposals_path(order: 'flags')
|
visit moderation_proposals_path(order: 'flags')
|
||||||
|
|
||||||
expect("Flagged proposal").to appear_before("Flagged newer proposal")
|
expect(flagged_proposal.title).to appear_before(flagged_new_proposal.title)
|
||||||
|
|
||||||
visit moderation_proposals_path(filter: 'all', order: 'created_at')
|
visit moderation_proposals_path(filter: 'all', order: 'created_at')
|
||||||
|
|
||||||
expect("Newer proposal").to appear_before("Flagged newer proposal")
|
expect(newer_proposal.title).to appear_before(flagged_new_proposal.title)
|
||||||
expect("Flagged newer proposal").to appear_before("Flagged proposal")
|
expect(flagged_new_proposal.title).to appear_before(flagged_proposal.title)
|
||||||
|
|
||||||
visit moderation_proposals_path(filter: 'all', order: 'flags')
|
visit moderation_proposals_path(filter: 'all', order: 'flags')
|
||||||
|
|
||||||
expect("Flagged proposal").to appear_before("Flagged newer proposal")
|
expect(flagged_proposal.title).to appear_before(flagged_new_proposal.title)
|
||||||
expect("Flagged newer proposal").to appear_before("Newer proposal")
|
expect(flagged_new_proposal.title).to appear_before(newer_proposal.title)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -634,30 +634,36 @@ feature 'Proposals' do
|
|||||||
scenario 'Default order is hot_score', :js do
|
scenario 'Default order is hot_score', :js do
|
||||||
create_featured_proposals
|
create_featured_proposals
|
||||||
|
|
||||||
create(:proposal, title: 'Best proposal').update_column(:hot_score, 10)
|
best_proposal = create(:proposal, title: 'Best proposal')
|
||||||
create(:proposal, title: 'Worst proposal').update_column(:hot_score, 2)
|
best_proposal.update_column(:hot_score, 10)
|
||||||
create(:proposal, title: 'Medium proposal').update_column(:hot_score, 5)
|
worst_proposal = create(:proposal, title: 'Worst proposal')
|
||||||
|
worst_proposal.update_column(:hot_score, 2)
|
||||||
|
medium_proposal = create(:proposal, title: 'Medium proposal')
|
||||||
|
medium_proposal.update_column(:hot_score, 5)
|
||||||
|
|
||||||
visit proposals_path
|
visit proposals_path
|
||||||
|
|
||||||
expect('Best proposal').to appear_before('Medium proposal')
|
expect(best_proposal.title).to appear_before(medium_proposal.title)
|
||||||
expect('Medium proposal').to appear_before('Worst proposal')
|
expect(medium_proposal.title).to appear_before(worst_proposal.title)
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Proposals are ordered by confidence_score', :js do
|
scenario 'Proposals are ordered by confidence_score', :js do
|
||||||
create_featured_proposals
|
create_featured_proposals
|
||||||
|
|
||||||
create(:proposal, title: 'Best proposal').update_column(:confidence_score, 10)
|
best_proposal = create(:proposal, title: 'Best proposal')
|
||||||
create(:proposal, title: 'Worst proposal').update_column(:confidence_score, 2)
|
best_proposal.update_column(:confidence_score, 10)
|
||||||
create(:proposal, title: 'Medium proposal').update_column(:confidence_score, 5)
|
worst_proposal = create(:proposal, title: 'Worst proposal')
|
||||||
|
worst_proposal.update_column(:confidence_score, 2)
|
||||||
|
medium_proposal = create(:proposal, title: 'Medium proposal')
|
||||||
|
medium_proposal.update_column(:confidence_score, 5)
|
||||||
|
|
||||||
visit proposals_path
|
visit proposals_path
|
||||||
click_link 'highest rated'
|
click_link 'highest rated'
|
||||||
expect(page).to have_selector('a.active', text: 'highest rated')
|
expect(page).to have_selector('a.active', text: 'highest rated')
|
||||||
|
|
||||||
within '#proposals' do
|
within '#proposals' do
|
||||||
expect('Best proposal').to appear_before('Medium proposal')
|
expect(best_proposal.title).to appear_before(medium_proposal.title)
|
||||||
expect('Medium proposal').to appear_before('Worst proposal')
|
expect(medium_proposal.title).to appear_before(worst_proposal.title)
|
||||||
end
|
end
|
||||||
|
|
||||||
expect(current_url).to include('order=confidence_score')
|
expect(current_url).to include('order=confidence_score')
|
||||||
@@ -667,17 +673,17 @@ feature 'Proposals' do
|
|||||||
scenario 'Proposals are ordered by newest', :js do
|
scenario 'Proposals are ordered by newest', :js do
|
||||||
create_featured_proposals
|
create_featured_proposals
|
||||||
|
|
||||||
create(:proposal, title: 'Best proposal', created_at: Time.current)
|
best_proposal = create(:proposal, title: 'Best proposal', created_at: Time.current)
|
||||||
create(:proposal, title: 'Medium proposal', created_at: Time.current - 1.hour)
|
medium_proposal = create(:proposal, title: 'Medium proposal', created_at: Time.current - 1.hour)
|
||||||
create(:proposal, title: 'Worst proposal', created_at: Time.current - 1.day)
|
worst_proposal = create(:proposal, title: 'Worst proposal', created_at: Time.current - 1.day)
|
||||||
|
|
||||||
visit proposals_path
|
visit proposals_path
|
||||||
click_link 'newest'
|
click_link 'newest'
|
||||||
expect(page).to have_selector('a.active', text: 'newest')
|
expect(page).to have_selector('a.active', text: 'newest')
|
||||||
|
|
||||||
within '#proposals' do
|
within '#proposals' do
|
||||||
expect('Best proposal').to appear_before('Medium proposal')
|
expect(best_proposal.title).to appear_before(medium_proposal.title)
|
||||||
expect('Medium proposal').to appear_before('Worst proposal')
|
expect(medium_proposal.title).to appear_before(worst_proposal.title)
|
||||||
end
|
end
|
||||||
|
|
||||||
expect(current_url).to include('order=created_at')
|
expect(current_url).to include('order=created_at')
|
||||||
@@ -686,11 +692,12 @@ feature 'Proposals' do
|
|||||||
|
|
||||||
context 'Recommendations' do
|
context 'Recommendations' do
|
||||||
|
|
||||||
|
let!(:best_proposal) { create(:proposal, title: 'Best', cached_votes_up: 10, tag_list: "Sport") }
|
||||||
|
let!(:medium_proposal) { create(:proposal, title: 'Medium', cached_votes_up: 5, tag_list: "Sport") }
|
||||||
|
let!(:worst_proposal) { create(:proposal, title: 'Worst', cached_votes_up: 1, tag_list: "Sport") }
|
||||||
|
|
||||||
before do
|
before do
|
||||||
Setting['feature.user.recommendations'] = true
|
Setting['feature.user.recommendations'] = true
|
||||||
create(:proposal, title: 'Best', cached_votes_up: 10, tag_list: "Sport")
|
|
||||||
create(:proposal, title: 'Medium', cached_votes_up: 5, tag_list: "Sport")
|
|
||||||
create(:proposal, title: 'Worst', cached_votes_up: 1, tag_list: "Sport")
|
|
||||||
end
|
end
|
||||||
|
|
||||||
after do
|
after do
|
||||||
@@ -738,8 +745,8 @@ feature 'Proposals' do
|
|||||||
expect(page).to have_selector('a.active', text: 'recommendations')
|
expect(page).to have_selector('a.active', text: 'recommendations')
|
||||||
|
|
||||||
within '#proposals-list' do
|
within '#proposals-list' do
|
||||||
expect('Best').to appear_before('Medium')
|
expect(best_proposal.title).to appear_before(medium_proposal.title)
|
||||||
expect('Medium').to appear_before('Worst')
|
expect(medium_proposal.title).to appear_before(worst_proposal.title)
|
||||||
end
|
end
|
||||||
|
|
||||||
expect(current_url).to include('order=recommendations')
|
expect(current_url).to include('order=recommendations')
|
||||||
@@ -1621,14 +1628,17 @@ feature 'Proposals' do
|
|||||||
|
|
||||||
scenario "Orders proposals by votes" do
|
scenario "Orders proposals by votes" do
|
||||||
create(:tag, :category, name: 'culture')
|
create(:tag, :category, name: 'culture')
|
||||||
create(:proposal, title: 'Best', tag_list: 'culture').update_column(:confidence_score, 10)
|
best_proposal = create(:proposal, title: 'Best', tag_list: 'culture')
|
||||||
create(:proposal, title: 'Worst', tag_list: 'culture').update_column(:confidence_score, 2)
|
best_proposal.update_column(:confidence_score, 10)
|
||||||
create(:proposal, title: 'Medium', tag_list: 'culture').update_column(:confidence_score, 5)
|
worst_proposal = create(:proposal, title: 'Worst', tag_list: 'culture')
|
||||||
|
worst_proposal.update_column(:confidence_score, 2)
|
||||||
|
medium_proposal = create(:proposal, title: 'Medium', tag_list: 'culture')
|
||||||
|
medium_proposal.update_column(:confidence_score, 5)
|
||||||
|
|
||||||
visit summary_proposals_path
|
visit summary_proposals_path
|
||||||
|
|
||||||
expect('Best').to appear_before('Medium')
|
expect(best_proposal.title).to appear_before(medium_proposal.title)
|
||||||
expect('Medium').to appear_before('Worst')
|
expect(medium_proposal.title).to appear_before(worst_proposal.title)
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "Displays proposals from last week" do
|
scenario "Displays proposals from last week" do
|
||||||
|
|||||||
Reference in New Issue
Block a user