Commit 05c9b9ed authored by Kerri Miller's avatar Kerri Miller Committed by Luke Duncalfe

Replace work_in_progress with draft

Replace work_in_progress with draft

Changelog: changed
parent 43ebce85
......@@ -798,6 +798,7 @@ Example response:
"source_project_id":35,
"target_project_id":35,
"labels":[ ],
"draft":false,
"work_in_progress":false,
"milestone":null,
"merge_when_pipeline_succeeds":false,
......
......@@ -2080,6 +2080,7 @@ Example response:
"source_project_id": 1,
"target_project_id": 1,
"labels": [],
"draft": false,
"work_in_progress": false,
"milestone": {
"id": 27,
......@@ -2231,6 +2232,7 @@ Example response:
"closed_at": null,
"closed_by": null,
"labels": [],
"draft": false,
"work_in_progress": false,
"milestone": null,
"merge_when_pipeline_succeeds": false,
......
......@@ -16,6 +16,7 @@ type: reference, api
> - `with_merge_status_recheck` was [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31890) in GitLab 13.0.
> - `reviewer_username` and `reviewer_id` were [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49341) in GitLab 13.8.
> - `reviewer_ids` was [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/51186) in GitLab 13.8.
> - `draft` was [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/63473) as an eventual replacement for `work_in_progress` in GitLab 14.0
Every API call to merge requests must be authenticated.
......@@ -174,6 +175,7 @@ Parameters:
"Community contribution",
"Manage"
],
"draft": false,
"work_in_progress": false,
"milestone": {
"id": 5,
......@@ -357,6 +359,7 @@ Parameters:
"Community contribution",
"Manage"
],
"draft": false,
"work_in_progress": false,
"milestone": {
"id": 5,
......@@ -542,6 +545,7 @@ Parameters:
"Community contribution",
"Manage"
],
"draft": false,
"work_in_progress": false,
"milestone": {
"id": 5,
......@@ -680,6 +684,7 @@ Parameters:
"Community contribution",
"Manage"
],
"draft": false,
"work_in_progress": false,
"milestone": {
"id": 5,
......@@ -912,6 +917,7 @@ Parameters:
"target_project_id": 4,
"labels": [ ],
"description": "Qui voluptatibus placeat ipsa alias quasi. Deleniti rem ut sint. Optio velit qui distinctio.",
"draft": false,
"work_in_progress": false,
"milestone": {
"id": 5,
......@@ -1122,6 +1128,7 @@ POST /projects/:id/merge_requests
"Community contribution",
"Manage"
],
"draft": false,
"work_in_progress": false,
"milestone": {
"id": 5,
......@@ -1292,6 +1299,7 @@ Must include at least one non-required attribute from above.
"Community contribution",
"Manage"
],
"draft": false,
"work_in_progress": false,
"milestone": {
"id": 5,
......@@ -1477,6 +1485,7 @@ Parameters:
"Community contribution",
"Manage"
],
"draft": false,
"work_in_progress": false,
"milestone": {
"id": 5,
......@@ -1665,6 +1674,7 @@ Parameters:
"Community contribution",
"Manage"
],
"draft": false,
"work_in_progress": false,
"milestone": {
"id": 5,
......@@ -1966,6 +1976,7 @@ Example response:
"Community contribution",
"Manage"
],
"draft": false,
"work_in_progress": false,
"milestone": {
"id": 5,
......@@ -2125,6 +2136,7 @@ Example response:
"Community contribution",
"Manage"
],
"draft": false,
"work_in_progress": false,
"milestone": {
"id": 5,
......@@ -2301,6 +2313,7 @@ Example response:
"source_project_id": 3,
"target_project_id": 3,
"labels": [],
"draft": false,
"work_in_progress": false,
"milestone": {
"id": 27,
......
......@@ -178,6 +178,7 @@ Example response:
"ruby",
"tests"
],
"draft": false,
"work_in_progress": false,
"milestone": {
"id": 13,
......@@ -600,6 +601,7 @@ Example response:
"ruby",
"tests"
],
"draft": false,
"work_in_progress": false,
"milestone": {
"id": 13,
......@@ -958,6 +960,7 @@ Example response:
"ruby",
"tests"
],
"draft": false,
"work_in_progress": false,
"milestone": {
"id": 13,
......
......@@ -88,6 +88,7 @@ Example Response:
"source_project_id": 2,
"target_project_id": 2,
"labels": [],
"draft": false,
"work_in_progress": false,
"milestone": {
"id": 32,
......@@ -161,6 +162,7 @@ Example Response:
"source_project_id": 2,
"target_project_id": 2,
"labels": [],
"draft": false,
"work_in_progress": false,
"milestone": {
"id": 32,
......@@ -259,6 +261,7 @@ Example Response:
"source_project_id": 2,
"target_project_id": 2,
"labels": [],
"draft": false,
"work_in_progress": false,
"milestone": {
"id": 32,
......
......@@ -36,7 +36,11 @@ module API
merge_request.labels.map(&:title).sort
end
end
expose :work_in_progress?, as: :work_in_progress
expose :draft?, as: :draft
# [Deprecated] see draft
#
expose :draft?, as: :work_in_progress
expose :milestone, using: Entities::Milestone
expose :merge_when_pipeline_succeeds
......
......@@ -9,11 +9,22 @@ RSpec.describe ::API::Entities::MergeRequestBasic do
let_it_be(:labels) { create_list(:label, 3) }
let_it_be(:merge_requests) { create_list(:labeled_merge_request, 10, :unique_branches, labels: labels) }
let_it_be(:entity) { described_class.new(merge_request) }
# This mimics the behavior of the `Grape::Entity` serializer
def present(obj)
described_class.new(obj).presented
end
subject { entity.as_json }
it 'includes basic fields' do
is_expected.to include(
draft: merge_request.draft?,
work_in_progress: merge_request.draft?
)
end
context "with :with_api_entity_associations scope" do
let(:scope) { MergeRequest.with_api_entity_associations }
......
......@@ -1186,7 +1186,8 @@ RSpec.describe API::MergeRequests do
expect(json_response['downvotes']).to eq(1)
expect(json_response['source_project_id']).to eq(merge_request.source_project.id)
expect(json_response['target_project_id']).to eq(merge_request.target_project.id)
expect(json_response['work_in_progress']).to be_falsy
expect(json_response['draft']).to be false
expect(json_response['work_in_progress']).to be false
expect(json_response['merge_when_pipeline_succeeds']).to be_falsy
expect(json_response['merge_status']).to eq('can_be_merged')
expect(json_response['should_close_merge_request']).to be_falsy
......@@ -1329,22 +1330,23 @@ RSpec.describe API::MergeRequests do
expect(response).to have_gitlab_http_status(:not_found)
end
context 'Work in Progress' do
let!(:merge_request_wip) do
context 'Draft' do
let!(:merge_request_draft) do
create(:merge_request,
author: user,
assignees: [user],
source_project: project,
target_project: project,
title: "WIP: Test",
title: "Draft: Test",
created_at: base_time + 1.second
)
end
it "returns merge request" do
get api("/projects/#{project.id}/merge_requests/#{merge_request_wip.iid}", user)
get api("/projects/#{project.id}/merge_requests/#{merge_request_draft.iid}", user)
expect(response).to have_gitlab_http_status(:ok)
expect(json_response['draft']).to eq(true)
expect(json_response['work_in_progress']).to eq(true)
end
end
......@@ -2522,8 +2524,8 @@ RSpec.describe API::MergeRequests do
expect(json_response['message']).to eq('405 Method Not Allowed')
end
it "returns 405 if merge_request is a work in progress" do
merge_request.update_attribute(:title, "WIP: #{merge_request.title}")
it "returns 405 if merge_request is a draft" do
merge_request.update_attribute(:title, "Draft: #{merge_request.title}")
put api("/projects/#{project.id}/merge_requests/#{merge_request.iid}/merge", user)
expect(response).to have_gitlab_http_status(:method_not_allowed)
expect(json_response['message']).to eq('405 Method Not Allowed')
......
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