Fix MR assignees for push options

With multiple MR assignees, `merge_request.assignee_id` is always nil,
and `merge_request.assignee_ids` isn't in `merge_request.attributes`.
So the existing code doesn't set assignees in the created MR.

This fix gets all the tests passing, but we should also check that no
other associations in the MergeRequest need similar fixups.
This commit is contained in:
Nick Thomas 2019-04-09 20:30:52 +01:00
parent 41e36b05de
commit f9b4d5efbd
No known key found for this signature in database
GPG key ID: 2A313A47AFADACE9
2 changed files with 3 additions and 3 deletions

View file

@ -100,7 +100,7 @@ module MergeRequests
merge_request = ::MergeRequests::CreateService.new(
project,
current_user,
merge_request.attributes
merge_request.attributes.merge(assignees: merge_request.assignees)
).execute
end
@ -119,7 +119,7 @@ module MergeRequests
def create_params(branch)
params = {
assignee: current_user,
assignees: [current_user],
source_branch: branch,
source_project: project,
target_branch: push_options[:target] || target_project.default_branch,

View file

@ -38,7 +38,7 @@ describe MergeRequests::PushOptionsHandlerService do
it 'assigns the MR to the user' do
service.execute
expect(last_mr.assignee).to eq(user)
expect(last_mr.assignees).to contain_exactly(user)
end
context 'when project has been forked' do