Commit c0f65900 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Merge branch 'approvals_permission_ext' into 'master'

Extend approvals permissions for guests and reporters

https://dev.gitlab.org/gitlab/gitlab-ee/issues/328

See merge request !487
parents a9f92209 144d2919
v 8.0.0 (unreleased)
- Fix navigation issue when viewing Group Settings pages
- Guests and Reporters can approve merge request as well
v 7.14.0
- Disable adding, updating and removing members from a group that is synced with LDAP
......
......@@ -13,10 +13,10 @@
= render 'projects/merge_requests/widget/open/conflicts'
- elsif @merge_request.work_in_progress?
= render 'projects/merge_requests/widget/open/wip'
- elsif !@merge_request.can_be_merged_by?(current_user)
= render 'projects/merge_requests/widget/open/not_allowed'
- elsif @merge_request.requires_approve? && !@merge_request.approved?
= render 'projects/merge_requests/widget/open/approve'
- elsif !@merge_request.can_be_merged_by?(current_user)
= render 'projects/merge_requests/widget/open/not_allowed'
- elsif @merge_request.can_be_merged?
= render 'projects/merge_requests/widget/open/accept'
......
......@@ -240,6 +240,15 @@ Feature: Project Merge Requests
When I click link "Approve"
Then I should see approved merge request "Bug NS-04"
Scenario: Reporter can approve merge request
Given I am a "Shop" reporter
And I visit project "Shop" merge requests page
And merge request 'Bug NS-04' must be approved
And I click link "Bug NS-04"
And I should not see merge button
When I click link "Approve"
Then I should see message that merge request can be merged
Scenario: I approve merge request if I am an approver
Given merge request 'Bug NS-04' must be approved by current user
And I click link "Bug NS-04"
......
......@@ -420,6 +420,12 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
end
end
step 'I should see message that merge request can be merged' do
page.within '.mr-state-widget' do
expect(page).to have_content("Ready to be merged automatically")
end
end
step 'I should see message that MR require an approval from me' do
page.within '.mr-state-widget' do
expect(page).to have_content("Requires one more approval (from #{current_user.name})")
......@@ -454,6 +460,15 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
expect(page).to have_content('diff --git')
end
step 'I am a "Shop" reporter' do
user = create(:user, name: "Mike")
project = Project.find_by(name: "Shop")
project.team << [user, :reporter]
logout
login_with user
end
def merge_request
@merge_request ||= MergeRequest.find_by!(title: "Bug NS-05")
end
......
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