Commit 363fa597 authored by Alfredo Sumaran's avatar Alfredo Sumaran

Update tests to make it work with Turbolinks approach

parent fef47d23
......@@ -56,8 +56,9 @@ feature 'Issue filtering by Labels', feature: true do
end
it 'should remove label "bug"' do
first('.js-label-filter-remove').click
expect(find('.filtered-labels')).to have_no_content "bug"
find('.js-label-filter-remove').click
wait_for_ajax
expect(find('.filtered-labels', visible: false)).to have_no_content "bug"
end
end
......@@ -142,7 +143,8 @@ feature 'Issue filtering by Labels', feature: true do
end
it 'should remove label "enhancement"' do
first('.js-label-filter-remove').click
find('.js-label-filter-remove', match: :first).click
wait_for_ajax
expect(find('.filtered-labels')).to have_no_content "enhancement"
end
end
......@@ -179,6 +181,7 @@ feature 'Issue filtering by Labels', feature: true do
before do
page.within '.labels-filter' do
click_button 'Label'
wait_for_ajax
click_link 'bug'
find('.dropdown-menu-close').click
end
......@@ -189,14 +192,11 @@ feature 'Issue filtering by Labels', feature: true do
end
it 'should allow user to remove filtered labels' do
page.within '.filtered-labels' do
first('.js-label-filter-remove').click
expect(page).not_to have_content 'bug'
end
first('.js-label-filter-remove').click
wait_for_ajax
page.within '.labels-filter' do
expect(page).not_to have_content 'bug'
end
expect(find('.filtered-labels', visible: false)).not_to have_content 'bug'
expect(find('.labels-filter')).not_to have_content 'bug'
end
end
......
require 'rails_helper'
describe 'Filter issues', feature: true do
include WaitForAjax
let!(:project) { create(:project) }
let!(:user) { create(:user)}
......@@ -21,7 +22,7 @@ describe 'Filter issues', feature: true do
find('.dropdown-menu-user-link', text: user.username).click
sleep 2
wait_for_ajax
end
context 'assignee', js: true do
......@@ -53,7 +54,7 @@ describe 'Filter issues', feature: true do
find('.milestone-filter .dropdown-content a', text: milestone.title).click
sleep 2
wait_for_ajax
end
context 'milestone', js: true do
......@@ -80,23 +81,21 @@ describe 'Filter issues', feature: true do
before do
visit namespace_project_issues_path(project.namespace, project)
find('.js-label-select').click
wait_for_ajax
end
it 'should filter by any label' do
find('.dropdown-menu-labels a', text: 'Any Label').click
page.first('.labels-filter .dropdown-title .dropdown-menu-close-icon').click
sleep 2
wait_for_ajax
page.within '.labels-filter' do
expect(page).to have_content 'Any Label'
end
expect(find('.js-label-select .dropdown-toggle-text')).to have_content('Any Label')
expect(find('.labels-filter')).to have_content 'Label'
end
it 'should filter by no label' do
find('.dropdown-menu-labels a', text: 'No Label').click
page.first('.labels-filter .dropdown-title .dropdown-menu-close-icon').click
sleep 2
wait_for_ajax
page.within '.labels-filter' do
expect(page).to have_content 'No Label'
......@@ -122,14 +121,14 @@ describe 'Filter issues', feature: true do
find('.dropdown-menu-user-link', text: user.username).click
sleep 2
wait_for_ajax
find('.js-label-select').click
find('.dropdown-menu-labels .dropdown-content a', text: label.title).click
page.first('.labels-filter .dropdown-title .dropdown-menu-close-icon').click
sleep 2
wait_for_ajax
end
context 'assignee and label', js: true do
......@@ -276,9 +275,12 @@ describe 'Filter issues', feature: true do
it 'should be able to filter and sort issues' do
click_button 'Label'
wait_for_ajax
page.within '.labels-filter' do
click_link 'bug'
end
find('.dropdown-menu-close-icon').click
wait_for_ajax
page.within '.issues-list' do
expect(page).to have_selector('.issue', count: 2)
......@@ -288,6 +290,7 @@ describe 'Filter issues', feature: true do
page.within '.dropdown-menu-sort' do
click_link 'Oldest created'
end
wait_for_ajax
page.within '.issues-list' do
expect(first('.issue')).to have_content('Frontend')
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment