diff options
author | Rémy Coutable <remy@rymai.me> | 2017-08-01 20:03:07 +0200 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2018-01-18 15:07:57 +0100 |
commit | 799cd471099e032a60fbdb1ba6841e617f6c122f (patch) | |
tree | e18e25e7ec82f9fb35bad04890e57c21a69097af /spec/features/merge_requests/user_filters_by_labels_spec.rb | |
parent | 50a649530a53a04d2044f9e4c5502586a7ed0c59 (diff) | |
download | gitlab-ce-rc/improve-mr-feature-specs.tar.gz |
Improve MR feature specs and reduce duplicationrc/improve-mr-feature-specs
Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'spec/features/merge_requests/user_filters_by_labels_spec.rb')
-rw-r--r-- | spec/features/merge_requests/user_filters_by_labels_spec.rb | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/spec/features/merge_requests/user_filters_by_labels_spec.rb b/spec/features/merge_requests/user_filters_by_labels_spec.rb new file mode 100644 index 00000000000..08d741af93d --- /dev/null +++ b/spec/features/merge_requests/user_filters_by_labels_spec.rb @@ -0,0 +1,49 @@ +require 'rails_helper' + +describe 'Merge Requests > User filters by labels', :js do + include FilteredSearchHelpers + + let(:project) { create(:project, :public, :repository) } + let(:user) { project.creator } + let(:mr1) { create(:merge_request, title: 'Bugfix1', source_project: project, target_project: project, source_branch: 'bugfix1') } + let(:mr2) { create(:merge_request, title: 'Bugfix2', source_project: project, target_project: project, source_branch: 'bugfix2') } + + before do + bug_label = create(:label, project: project, title: 'bug') + enhancement_label = create(:label, project: project, title: 'enhancement') + mr1.labels << bug_label + mr2.labels << bug_label << enhancement_label + + sign_in(user) + visit project_merge_requests_path(project) + end + + context 'filtering by label:none' do + it 'applies the filter' do + input_filtered_search('label:none') + + expect(page).to have_issuable_counts(open: 0, closed: 0, all: 0) + expect(page).not_to have_content 'Bugfix1' + expect(page).not_to have_content 'Bugfix2' + end + end + + context 'filtering by label:~enhancement' do + it 'applies the filter' do + input_filtered_search('label:~enhancement') + + expect(page).to have_issuable_counts(open: 1, closed: 0, all: 1) + expect(page).to have_content 'Bugfix2' + expect(page).not_to have_content 'Bugfix1' + end + end + + context 'filtering by label:~enhancement and label:~bug' do + it 'applies the filters' do + input_filtered_search('label:~bug label:~enhancement') + + expect(page).to have_issuable_counts(open: 1, closed: 0, all: 1) + expect(page).to have_content 'Bugfix2' + end + end +end |