Fixes specs for debates and proposals
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user