Fixes specs for debates and proposals

This commit is contained in:
kikito
2016-01-05 19:38:36 +01:00
parent b89f39bfef
commit 9898353d99
2 changed files with 14 additions and 97 deletions

View File

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

View File

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