diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-05-07 06:09:46 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-05-07 06:09:46 +0300 |
commit | 2e26679b96b5621de70b00bc44f0d3893f1954df (patch) | |
tree | 463eefd402f73e8f03dfade7aeb20e56b5d83892 /spec/features | |
parent | d4f8f25db649b973f1ae344cb0f8a407862d106b (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/features')
-rw-r--r-- | spec/features/issues/filtered_search/filter_issues_spec.rb | 47 | ||||
-rw-r--r-- | spec/features/issues/filtered_search/visual_tokens_spec.rb | 16 |
2 files changed, 49 insertions, 14 deletions
diff --git a/spec/features/issues/filtered_search/filter_issues_spec.rb b/spec/features/issues/filtered_search/filter_issues_spec.rb index 5e2b5921e06..3ee5840e1b9 100644 --- a/spec/features/issues/filtered_search/filter_issues_spec.rb +++ b/spec/features/issues/filtered_search/filter_issues_spec.rb @@ -81,6 +81,26 @@ describe 'Filter issues', :js do expect_filtered_search_input(search_term) end + context 'with the NOT queries feature flag disabled' do + before do + stub_feature_flags(not_issuable_queries: false) + visit project_issues_path(project) + end + + it 'does not have the != option' do + input_filtered_search("label:", submit: false) + + wait_for_requests + within('#js-dropdown-operator') do + tokens = all(:css, 'li.filter-dropdown-item') + expect(tokens.count).to eq(1) + button = tokens[0].find('button') + expect(button).to have_content('=') + expect(button).not_to have_content('!=') + end + end + end + describe 'filter issues by author' do context 'only author' do it 'filters issues by searched author' do @@ -153,16 +173,16 @@ describe 'Filter issues', :js do expect_filtered_search_input_empty end - it 'filters issues by no label' do - input_filtered_search('label:=none') + it 'filters issues by any label' do + input_filtered_search('label:=any') - expect_tokens([label_token('None', false)]) + expect_tokens([label_token('Any', false)]) expect_issues_list_count(4) expect_filtered_search_input_empty end it 'filters issues by no label' do - input_filtered_search('label:!=none') + input_filtered_search('label:=none') expect_tokens([label_token('None', false)]) expect_issues_list_count(4) @@ -351,14 +371,6 @@ describe 'Filter issues', :js do expect_filtered_search_input_empty end - it 'filters issues by negation of no milestone' do - input_filtered_search("milestone:!=none ") - - expect_tokens([milestone_token('None', false, '!=')]) - expect_issues_list_count(5) - expect_filtered_search_input_empty - end - it 'filters issues by upcoming milestones' do create(:milestone, project: project, due_date: 1.month.from_now) do |future_milestone| create(:issue, project: project, milestone: future_milestone, author: user) @@ -376,10 +388,14 @@ describe 'Filter issues', :js do create(:issue, project: project, milestone: future_milestone, author: user) end + create(:milestone, project: project, due_date: 3.days.ago) do |past_milestone| + create(:issue, project: project, milestone: past_milestone, author: user) + end + input_filtered_search("milestone:!=upcoming") expect_tokens([milestone_token('Upcoming', false, '!=')]) - expect_issues_list_count(8) + expect_issues_list_count(1) expect_filtered_search_input_empty end @@ -392,10 +408,13 @@ describe 'Filter issues', :js do end it 'filters issues by negation of started milestones' do + milestone2 = create(:milestone, title: "9", project: project, start_date: 2.weeks.from_now) + create(:issue, project: project, author: user, title: "something else", milestone: milestone2) + input_filtered_search("milestone:!=started") expect_tokens([milestone_token('Started', false, '!=')]) - expect_issues_list_count(3) + expect_issues_list_count(1) expect_filtered_search_input_empty end diff --git a/spec/features/issues/filtered_search/visual_tokens_spec.rb b/spec/features/issues/filtered_search/visual_tokens_spec.rb index 2b164e2fd97..d34253b3c5e 100644 --- a/spec/features/issues/filtered_search/visual_tokens_spec.rb +++ b/spec/features/issues/filtered_search/visual_tokens_spec.rb @@ -175,4 +175,20 @@ describe 'Visual tokens', :js do expect(token.find('.name').text).to eq('Label') expect(token.find('.operator').text).to eq('=') end + + describe 'Any/None option' do + it 'hidden when NOT operator is selected' do + input_filtered_search('milestone:!=', extra_space: false, submit: false) + + expect(page).not_to have_selector("#js-dropdown-milestone", text: 'Any') + expect(page).not_to have_selector("#js-dropdown-milestone", text: 'None') + end + + it 'shown when EQUAL operator is selected' do + input_filtered_search('milestone:=', extra_space: false, submit: false) + + expect(page).to have_selector("#js-dropdown-milestone", text: 'Any') + expect(page).to have_selector("#js-dropdown-milestone", text: 'None') + end + end end |