Commit f12f69ce authored by http://jneen.net/'s avatar http://jneen.net/ Committed by Bryce Johnson

add tests

parent 73841d55
...@@ -126,23 +126,74 @@ describe Projects::MergeRequestsController do ...@@ -126,23 +126,74 @@ describe Projects::MergeRequestsController do
end end
context 'approvals' do context 'approvals' do
def json_response
JSON.load(response.body)
end
let(:approver) { create(:user) }
before do
merge_request.update_attribute :approvals_before_merge, 2
project.team << [approver, :developer]
end
describe 'approve' do describe 'approve' do
before do before do
project.team << [user, :developer]
post :approve, post :approve,
namespace_id: project.namespace.to_param, namespace_id: project.namespace.to_param,
project_id: project.to_param, project_id: project.to_param,
id: merge_request.iid id: merge_request.iid,
format: :json
end
it 'approves the merge request' do
expect(response).to be_success
expect(json_response['approvals_left']).to eq 1
expect(json_response['approved_by'].size).to eq 1
expect(json_response['approved_by'][0]['user']['username']).to eq user.username
expect(json_response['user_has_approved']).to be true
expect(json_response['user_can_approve']).to be false
end
end
describe 'approvals' do
before do
merge_request.approvals.create(user: approver)
get :approvals,
namespace_id: project.namespace.to_param,
project_id: project.to_param,
id: merge_request.iid,
format: :json
end end
it 'thing' do it 'shows approval information' do
expect(response).to be_success expect(response).to be_success
binding.pry expect(json_response['approvals_left']).to eq 1
expect(true).to be_true expect(json_response['approved_by'].size).to eq 1
expect(json_response['approved_by'][0]['user']['username']).to eq approver.username
expect(json_response['user_has_approved']).to be false
expect(json_response['user_can_approve']).to be true
end
end end
describe 'unapprove' do
before do
merge_request.approvals.create(user: user)
delete :unapprove,
namespace_id: project.namespace.to_param,
project_id: project.to_param,
id: merge_request.iid,
format: :json
end end
it 'unapproves the merge request' do
expect(response).to be_success
expect(json_response['approvals_left']).to eq 2
expect(json_response['approved_by']).to be_empty
expect(json_response['user_has_approved']).to be false
expect(json_response['user_can_approve']).to be true
end
end
end end
shared_examples "loads labels" do |action| shared_examples "loads labels" do |action|
......
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