From 9898353d998a3063e3aa57473e8a11f00ce4249f Mon Sep 17 00:00:00 2001 From: kikito Date: Tue, 5 Jan 2016 19:38:36 +0100 Subject: [PATCH] Fixes specs for debates and proposals --- spec/features/debates_spec.rb | 52 ++++------------------------- spec/features/proposals_spec.rb | 59 ++++----------------------------- 2 files changed, 14 insertions(+), 97 deletions(-) diff --git a/spec/features/debates_spec.rb b/spec/features/debates_spec.rb index 5c8f4f908..6ef03d06e 100644 --- a/spec/features/debates_spec.rb +++ b/spec/features/debates_spec.rb @@ -419,9 +419,9 @@ feature 'Debates' do create(:debate, title: 'Medium').update_column(:confidence_score, 5) visit debates_path - select 'highest rated', from: 'order-selector' + click_link 'highest rated' - expect(page).to have_selector('.js-order-selector[data-order="confidence_score"]') + expect(page).to have_selector('a.active', text: 'highest rated') within '#debates' do expect('Best').to appear_before('Medium') @@ -432,34 +432,15 @@ feature 'Debates' do expect(current_url).to include('page=1') end - scenario 'Debates are ordered by most commented', :js do - create(:debate, title: 'Best', comments_count: 10) - create(:debate, title: 'Medium', comments_count: 5) - create(:debate, title: 'Worst', comments_count: 2) - - visit debates_path - select 'most commented', from: 'order-selector' - - expect(page).to have_selector('.js-order-selector[data-order="most_commented"]') - - within '#debates' do - expect('Best').to appear_before('Medium') - expect('Medium').to appear_before('Worst') - end - - expect(current_url).to include('order=most_commented') - expect(current_url).to include('page=1') - end - scenario 'Debates are ordered by newest', :js do create(:debate, title: 'Best', created_at: Time.now) create(:debate, title: 'Medium', created_at: Time.now - 1.hour) create(:debate, title: 'Worst', created_at: Time.now - 1.day) visit debates_path - select 'newest', from: 'order-selector' + click_link 'newest' - expect(page).to have_selector('.js-order-selector[data-order="created_at"]') + expect(page).to have_selector('a.active', text: 'newest') within '#debates' do expect('Best').to appear_before('Medium') @@ -469,25 +450,6 @@ feature 'Debates' do expect(current_url).to include('order=created_at') expect(current_url).to include('page=1') end - - scenario 'Debates are ordered randomly', :js do - create_list(:debate, 12) - visit debates_path - - select 'random', from: 'order-selector' - expect(page).to have_selector('.js-order-selector[data-order="random"]') - debates_first_time = find("#debates").text - - select 'most commented', from: 'order-selector' - expect(page).to have_selector('.js-order-selector[data-order="most_commented"]') - - select 'random', from: 'order-selector' - expect(page).to have_selector('.js-order-selector[data-order="random"]') - debates_second_time = find("#debates").text - - expect(debates_first_time).to_not eq(debates_second_time) - expect(current_url).to include('page=1') - end end scenario 'Debate index search' do @@ -524,7 +486,7 @@ feature 'Debates' do fill_in "search", with: "Show what you got" click_button "Search" - expect(page).to have_selector('.js-order-selector[data-order="relevance"]') + expect(page).to have_selector('a.active', text: "relevance") within("#debates") do expect(all(".debate")[0].text).to match "Show what you got" @@ -543,8 +505,8 @@ feature 'Debates' do fill_in "search", with: "Show what you got" click_button "Search" - select 'newest', from: 'order-selector' - expect(page).to have_selector('.js-order-selector[data-order="created_at"]') + click_link "newest" + expect(page).to have_selector('a.active', text: "Newest") within("#debates") do expect(all(".debate")[0].text).to match "Show you got" diff --git a/spec/features/proposals_spec.rb b/spec/features/proposals_spec.rb index b8c2cce05..e6938a432 100644 --- a/spec/features/proposals_spec.rb +++ b/spec/features/proposals_spec.rb @@ -482,9 +482,8 @@ feature 'Proposals' do create(:proposal, title: 'Medium proposal').update_column(:confidence_score, 5) visit proposals_path - select 'highest rated', from: 'order-selector' - - expect(page).to have_selector('.js-order-selector[data-order="confidence_score"]') + click_link 'highest rated' + expect(page).to have_selector('a.active', text: 'highest rated') within '#proposals' do expect('Best proposal').to appear_before('Medium proposal') @@ -495,27 +494,6 @@ feature 'Proposals' do expect(current_url).to include('page=1') end - scenario 'Proposals are ordered by most commented', :js do - create_featured_proposals - - create(:proposal, title: 'Best proposal', comments_count: 10) - create(:proposal, title: 'Medium proposal', comments_count: 5) - create(:proposal, title: 'Worst proposal', comments_count: 2) - - visit proposals_path - select 'most commented', from: 'order-selector' - - expect(page).to have_selector('.js-order-selector[data-order="most_commented"]') - - within '#proposals' do - expect('Best proposal').to appear_before('Medium proposal') - expect('Medium proposal').to appear_before('Worst proposal') - end - - expect(current_url).to include('order=most_commented') - expect(current_url).to include('page=1') - end - scenario 'Proposals are ordered by newest', :js do create_featured_proposals @@ -524,9 +502,8 @@ feature 'Proposals' do create(:proposal, title: 'Worst proposal', created_at: Time.now - 1.day) visit proposals_path - select 'newest', from: 'order-selector' - - expect(page).to have_selector('.js-order-selector[data-order="created_at"]') + click_link 'newest' + expect(page).to have_selector('a.active', text: 'newest') within '#proposals' do expect('Best proposal').to appear_before('Medium proposal') @@ -536,27 +513,6 @@ feature 'Proposals' do expect(current_url).to include('order=created_at') expect(current_url).to include('page=1') end - - scenario 'Proposals are ordered randomly', :js do - create_featured_proposals - - create_list(:proposal, 12) - visit proposals_path - - select 'random', from: 'order-selector' - expect(page).to have_selector('.js-order-selector[data-order="random"]') - proposals_first_time = find("#proposals").text - - select 'most commented', from: 'order-selector' - expect(page).to have_selector('.js-order-selector[data-order="most_commented"]') - - select 'random', from: 'order-selector' - expect(page).to have_selector('.js-order-selector[data-order="random"]') - proposals_second_time = find("#proposals").text - - expect(proposals_first_time).to_not eq(proposals_second_time) - expect(current_url).to include('page=1') - end end scenario 'Proposal index search' do @@ -593,7 +549,7 @@ feature 'Proposals' do fill_in "search", with: "Show what you got" click_button "Search" - expect(page).to have_selector('.js-order-selector[data-order="relevance"]') + expect(page).to have_selector("a.active", text: "relevance") within("#proposals") do expect(all(".proposal")[0].text).to match "Show what you got" @@ -611,9 +567,8 @@ feature 'Proposals' do visit proposals_path fill_in "search", with: "Show what you got" click_button "Search" - - select 'newest', from: 'order-selector' - expect(page).to have_selector('.js-order-selector[data-order="created_at"]') + click_link 'newest' + expect(page).to have_selector("a.active", text: "newest") within("#proposals") do expect(all(".proposal")[0].text).to match "Show you got"