diff options
author | Oswaldo Ferreira <oswaldo@gitlab.com> | 2018-01-23 19:08:10 -0200 |
---|---|---|
committer | Oswaldo Ferreira <oswaldo@gitlab.com> | 2018-01-28 18:50:43 -0200 |
commit | 2944896466ea89a334556c19c82b5403ab6b9f32 (patch) | |
tree | 7413c4207a6ce24bedff4e39e3f68ca51dd74cac | |
parent | 60f372859d0771d7a6f484d64649e9f250699225 (diff) | |
download | gitlab-ce-osw-consistent-values-on-api-merge-status.tar.gz |
Return more consistent values for merge_status on MR APIosw-consistent-values-on-api-merge-status
-rw-r--r-- | changelogs/unreleased/osw-updates-merge-status-on-api-actions.yml | 5 | ||||
-rw-r--r-- | lib/api/entities.rb | 9 | ||||
-rw-r--r-- | spec/requests/api/merge_requests_spec.rb | 2 |
3 files changed, 15 insertions, 1 deletions
diff --git a/changelogs/unreleased/osw-updates-merge-status-on-api-actions.yml b/changelogs/unreleased/osw-updates-merge-status-on-api-actions.yml new file mode 100644 index 00000000000..3854985e576 --- /dev/null +++ b/changelogs/unreleased/osw-updates-merge-status-on-api-actions.yml @@ -0,0 +1,5 @@ +--- +title: Return more consistent values for merge_status on MR APIs +merge_request: +author: +type: fixed diff --git a/lib/api/entities.rb b/lib/api/entities.rb index 7b9a80a234b..ac5b6e518fd 100644 --- a/lib/api/entities.rb +++ b/lib/api/entities.rb @@ -507,7 +507,14 @@ module API expose :work_in_progress?, as: :work_in_progress expose :milestone, using: Entities::Milestone expose :merge_when_pipeline_succeeds - expose :merge_status + + # Ideally we should deprecate `MergeRequest#merge_status` exposure and + # use `MergeRequest#mergeable?` instead (boolean). + # See https://gitlab.com/gitlab-org/gitlab-ce/issues/42344 for more + # information. + expose :merge_status do |merge_request| + merge_request.tap(&:check_if_can_be_merged).merge_status + end expose :diff_head_sha, as: :sha expose :merge_commit_sha expose :user_notes_count diff --git a/spec/requests/api/merge_requests_spec.rb b/spec/requests/api/merge_requests_spec.rb index 8e2982f1a5d..14dd9da119d 100644 --- a/spec/requests/api/merge_requests_spec.rb +++ b/spec/requests/api/merge_requests_spec.rb @@ -198,6 +198,8 @@ describe API::MergeRequests do create(:merge_request, state: 'closed', milestone: milestone1, author: user, assignee: user, source_project: project, target_project: project, title: "Test", created_at: base_time) + create(:merge_request, milestone: milestone1, author: user, assignee: user, source_project: project, target_project: project, title: "Test", created_at: base_time) + expect do get api("/projects/#{project.id}/merge_requests", user) end.not_to exceed_query_limit(control) |