diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-11-09 12:08:59 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-11-09 12:08:59 +0300 |
commit | 079ad2772f2b78f56b26730307cc73d1376fa6d6 (patch) | |
tree | 6d862122c76b0eda421df0b72b41bfa345230218 /spec/features/issuables | |
parent | 4bfebcc481ca32ca0055e55cad509f400a2939ff (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/features/issuables')
-rw-r--r-- | spec/features/issuables/close_reopen_report_toggle_spec.rb | 50 |
1 files changed, 37 insertions, 13 deletions
diff --git a/spec/features/issuables/close_reopen_report_toggle_spec.rb b/spec/features/issuables/close_reopen_report_toggle_spec.rb index f0c994420ac..867d2ff7aae 100644 --- a/spec/features/issuables/close_reopen_report_toggle_spec.rb +++ b/spec/features/issuables/close_reopen_report_toggle_spec.rb @@ -105,6 +105,7 @@ RSpec.describe 'Issuables Close/Reopen/Report toggle' do end context 'on a merge request' do + let(:container) { find('.detail-page-header-actions') } let(:project) { create(:project, :repository) } let(:issuable) { create(:merge_request, source_project: project) } @@ -120,24 +121,47 @@ RSpec.describe 'Issuables Close/Reopen/Report toggle' do it_behaves_like 'an issuable close/reopen/report toggle' + context 'when the merge request is closed' do + let(:issuable) { create(:merge_request, :closed, source_project: project) } + + it 'shows both the `Edit` and `Reopen` button' do + expect(container).to have_link('Edit') + expect(container).not_to have_button('Report abuse') + expect(container).not_to have_button('Close merge request') + expect(container).to have_link('Reopen merge request') + end + + context 'when the merge request author is the current user' do + let(:issuable) { create(:merge_request, :closed, source_project: project, author: user) } + + it 'shows both the `Edit` and `Reopen` button' do + expect(container).to have_link('Edit') + expect(container).not_to have_link('Report abuse') + expect(container).not_to have_selector('button.dropdown-toggle') + expect(container).not_to have_button('Close merge request') + expect(container).to have_link('Reopen merge request') + end + end + end + context 'when the merge request is merged' do let(:issuable) { create(:merge_request, :merged, source_project: project) } - it 'shows only the `Report abuse` and `Edit` button' do - expect(page).to have_link('Report abuse') - expect(page).to have_link(exact_text: 'Edit') - expect(page).not_to have_button('Close merge request') - expect(page).not_to have_button('Reopen merge request') + it 'shows only the `Edit` button' do + expect(container).to have_link(exact_text: 'Edit') + expect(container).not_to have_link('Report abuse') + expect(container).not_to have_button('Close merge request') + expect(container).not_to have_button('Reopen merge request') end context 'when the merge request author is the current user' do let(:issuable) { create(:merge_request, :merged, source_project: project, author: user) } it 'shows only the `Edit` button' do - expect(page).to have_link('Report abuse') - expect(page).to have_link(exact_text: 'Edit') - expect(page).not_to have_button('Close merge request') - expect(page).not_to have_button('Reopen merge request') + expect(container).to have_link(exact_text: 'Edit') + expect(container).not_to have_link('Report abuse') + expect(container).not_to have_button('Close merge request') + expect(container).not_to have_button('Reopen merge request') end end end @@ -154,10 +178,10 @@ RSpec.describe 'Issuables Close/Reopen/Report toggle' do end it 'only shows a `Report abuse` button' do - expect(page).to have_link('Report abuse') - expect(page).not_to have_button('Close merge request') - expect(page).not_to have_button('Reopen merge request') - expect(page).not_to have_link(exact_text: 'Edit') + expect(container).to have_link('Report abuse') + expect(container).not_to have_button('Close merge request') + expect(container).not_to have_button('Reopen merge request') + expect(container).not_to have_link(exact_text: 'Edit') end end end |