diff options
author | Douglas Barbosa Alexandre <dbalexandre@gmail.com> | 2019-01-09 00:50:36 +0300 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2019-01-09 00:50:36 +0300 |
commit | d403d7ac6cc21d27ebdedaa90671d89c4b86bb5f (patch) | |
tree | 284f5ef7c773070485fe8c1d077900f4fe8157e7 /spec/views | |
parent | 1b3affafab0f28c690ce93cc98ac6bd09cbda59f (diff) |
Fix MR sidebar to correctly warning if assignee can't merge
Diffstat (limited to 'spec/views')
-rw-r--r-- | spec/views/projects/merge_requests/show.html.haml_spec.rb | 39 |
1 files changed, 34 insertions, 5 deletions
diff --git a/spec/views/projects/merge_requests/show.html.haml_spec.rb b/spec/views/projects/merge_requests/show.html.haml_spec.rb index b0042be339c..d9bda1a3414 100644 --- a/spec/views/projects/merge_requests/show.html.haml_spec.rb +++ b/spec/views/projects/merge_requests/show.html.haml_spec.rb @@ -32,11 +32,7 @@ describe 'projects/merge_requests/show.html.haml' do assign(:noteable, closed_merge_request) assign(:notes, []) assign(:pipelines, Ci::Pipeline.none) - assign( - :issuable_sidebar, - MergeRequestSerializer.new(current_user: user, project: project) - .represent(closed_merge_request, serializer: 'sidebar') - ) + assign(:issuable_sidebar, serialize_issuable_sidebar(user, project, closed_merge_request)) preload_view_requirements @@ -45,6 +41,33 @@ describe 'projects/merge_requests/show.html.haml' do current_application_settings: Gitlab::CurrentSettings.current_application_settings) end + describe 'merge request assignee sidebar' do + context 'when assignee is allowed to merge' do + it 'does not show a warning icon' do + closed_merge_request.update(assignee_id: user.id) + project.add_maintainer(user) + assign(:issuable_sidebar, serialize_issuable_sidebar(user, project, closed_merge_request)) + + render + + expect(rendered).not_to have_css('.cannot-be-merged') + end + end + + context 'when assignee is not allowed to merge' do + it 'shows a warning icon' do + reporter = create(:user) + project.add_reporter(reporter) + closed_merge_request.update(assignee_id: reporter.id) + assign(:issuable_sidebar, serialize_issuable_sidebar(user, project, closed_merge_request)) + + render + + expect(rendered).to have_css('.cannot-be-merged') + end + end + end + context 'when the merge request is closed' do it 'shows the "Reopen" button' do render @@ -80,4 +103,10 @@ describe 'projects/merge_requests/show.html.haml' do expect(rendered).to have_css('a', visible: false, text: 'Close') end end + + def serialize_issuable_sidebar(user, project, merge_request) + MergeRequestSerializer + .new(current_user: user, project: project) + .represent(closed_merge_request, serializer: 'sidebar') + end end |