Commit 144d2919 authored by Valery Sizov's avatar Valery Sizov

Extend approvals permissions for guests and reporters

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