Commit db6142a8 authored by Mark Chao's avatar Mark Chao

Change MR approval rule api

Now endpoints are under approval_settings scope.
parent 341838ac
...@@ -51,7 +51,7 @@ class ApprovalState ...@@ -51,7 +51,7 @@ class ApprovalState
end end
def overall_approvals_required def overall_approvals_required
@overall_approvals_required ||= [project.approvals_before_merge, merge_request.approvals_before_merge].max @overall_approvals_required ||= [project.approvals_before_merge, merge_request.approvals_before_merge || 0].max
end end
def approved? def approved?
......
...@@ -53,7 +53,7 @@ module API ...@@ -53,7 +53,7 @@ module API
success: ::EE::API::Entities::MergeRequestApprovalRules, success: ::EE::API::Entities::MergeRequestApprovalRules,
hidden: true hidden: true
} }
get 'approval_rules' do get 'approval_settings' do
merge_request = find_merge_request_with_access(params[:merge_request_iid]) merge_request = find_merge_request_with_access(params[:merge_request_iid])
present merge_request.approval_state, with: ::EE::API::Entities::MergeRequestApprovalRules, current_user: current_user present merge_request.approval_state, with: ::EE::API::Entities::MergeRequestApprovalRules, current_user: current_user
......
...@@ -264,6 +264,7 @@ module EE ...@@ -264,6 +264,7 @@ module EE
# Decorates ApprovalState # Decorates ApprovalState
class MergeRequestApprovalRules < Grape::Entity class MergeRequestApprovalRules < Grape::Entity
expose :wrapped_approval_rules, as: :rules, using: MergeRequestApprovalRule expose :wrapped_approval_rules, as: :rules, using: MergeRequestApprovalRule
expose :overall_approvals_required, as: :fallback_approvals_required
end end
# Decorates Project # Decorates Project
......
...@@ -484,7 +484,7 @@ describe "API::MergeRequestApprovals with approval_rule enabled" do ...@@ -484,7 +484,7 @@ describe "API::MergeRequestApprovals with approval_rule enabled" do
end end
end end
describe 'GET :id/merge_requests/:merge_request_iid/approval_rules' do describe 'GET :id/merge_requests/:merge_request_iid/approval_settings' do
let!(:rule) { create(:approval_merge_request_rule, merge_request: merge_request, approvals_required: 2, name: 'foo') } let!(:rule) { create(:approval_merge_request_rule, merge_request: merge_request, approvals_required: 2, name: 'foo') }
it 'retrieves the approval rules details' do it 'retrieves the approval rules details' do
...@@ -492,7 +492,7 @@ describe "API::MergeRequestApprovals with approval_rule enabled" do ...@@ -492,7 +492,7 @@ describe "API::MergeRequestApprovals with approval_rule enabled" do
merge_request.approvals.create(user: approver) merge_request.approvals.create(user: approver)
rule.users << approver rule.users << approver
get api("/projects/#{project.id}/merge_requests/#{merge_request.iid}/approval_rules", user) get api("/projects/#{project.id}/merge_requests/#{merge_request.iid}/approval_settings", user)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(200)
expect(json_response['rules'].size).to eq(1) expect(json_response['rules'].size).to eq(1)
...@@ -509,7 +509,7 @@ describe "API::MergeRequestApprovals with approval_rule enabled" do ...@@ -509,7 +509,7 @@ describe "API::MergeRequestApprovals with approval_rule enabled" do
private_group = create :group, :private private_group = create :group, :private
rule.groups << private_group rule.groups << private_group
get api("/projects/#{project.id}/merge_requests/#{merge_request.iid}/approval_rules", user) get api("/projects/#{project.id}/merge_requests/#{merge_request.iid}/approval_settings", user)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(200)
expect(json_response['rules'].size).to eq(1) expect(json_response['rules'].size).to eq(1)
......
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