diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-02-17 18:09:00 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-02-17 18:09:00 +0000 |
commit | eb1f5a3e087b7d6a3e85f2724b5a475cc9d9d37d (patch) | |
tree | d572a6d931152ae0dd10427237f5811893438552 /spec/requests/api/issues | |
parent | b304a72312465ed4c0a568ee6a6ea5e97f705c9b (diff) | |
download | gitlab-ce-eb1f5a3e087b7d6a3e85f2724b5a475cc9d9d37d.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/requests/api/issues')
-rw-r--r-- | spec/requests/api/issues/get_group_issues_spec.rb | 10 | ||||
-rw-r--r-- | spec/requests/api/issues/get_project_issues_spec.rb | 52 | ||||
-rw-r--r-- | spec/requests/api/issues/issues_spec.rb | 46 | ||||
-rw-r--r-- | spec/requests/api/issues/post_projects_issues_spec.rb | 84 | ||||
-rw-r--r-- | spec/requests/api/issues/put_projects_issues_spec.rb | 56 |
5 files changed, 124 insertions, 124 deletions
diff --git a/spec/requests/api/issues/get_group_issues_spec.rb b/spec/requests/api/issues/get_group_issues_spec.rb index 59e89a7f452..0a95f9114a5 100644 --- a/spec/requests/api/issues/get_group_issues_spec.rb +++ b/spec/requests/api/issues/get_group_issues_spec.rb @@ -72,7 +72,7 @@ describe API::Issues do it 'returns issues statistics' do get api("/groups/#{group.id}/issues_statistics", user), params: params - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['statistics']).not_to be_nil expect(json_response['statistics']['counts']['all']).to eq counts[:all] expect(json_response['statistics']['counts']['closed']).to eq counts[:closed] @@ -343,7 +343,7 @@ describe API::Issues do it 'exposes known attributes' do get api(base_url, admin) - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response.last.keys).to include(*%w(id iid project_id title description)) expect(json_response.last).not_to have_key('subscribed') end @@ -527,7 +527,7 @@ describe API::Issues do it 'returns an array of issues with no milestone' do get api(base_url, user), params: { milestone: no_milestone_title } - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect_paginated_array_response(group_confidential_issue.id) end @@ -674,14 +674,14 @@ describe API::Issues do it 'returns error when multiple assignees are passed' do get api(base_url, user), params: { assignee_username: [assignee.username, another_assignee.username], scope: 'all' } - expect(response).to have_gitlab_http_status(400) + expect(response).to have_gitlab_http_status(:bad_request) expect(json_response["error"]).to include("allows one value, but found 2") end it 'returns error when assignee_username and assignee_id are passed together' do get api(base_url, user), params: { assignee_username: [assignee.username], assignee_id: another_assignee.id, scope: 'all' } - expect(response).to have_gitlab_http_status(400) + expect(response).to have_gitlab_http_status(:bad_request) expect(json_response["error"]).to include("mutually exclusive") end end diff --git a/spec/requests/api/issues/get_project_issues_spec.rb b/spec/requests/api/issues/get_project_issues_spec.rb index edd4ae85729..539841fe460 100644 --- a/spec/requests/api/issues/get_project_issues_spec.rb +++ b/spec/requests/api/issues/get_project_issues_spec.rb @@ -93,7 +93,7 @@ describe API::Issues do it 'returns project issues statistics' do get api("/issues_statistics", user), params: params - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['statistics']).not_to be_nil expect(json_response['statistics']['counts']['all']).to eq counts[:all] expect(json_response['statistics']['counts']['closed']).to eq counts[:closed] @@ -196,7 +196,7 @@ describe API::Issues do get api("/projects/#{max_project_id + 1}/issues", non_member) - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) end it 'returns 404 on private projects for other users' do @@ -205,7 +205,7 @@ describe API::Issues do get api("/projects/#{private_project.id}/issues", non_member) - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) end it 'returns no issues when user has access to project but not issues' do @@ -472,7 +472,7 @@ describe API::Issues do it 'exposes known attributes' do get api("#{base_url}/issues", user) - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response.last.keys).to include(*%w(id iid project_id title description)) expect(json_response.last).not_to have_key('subscribed') end @@ -565,14 +565,14 @@ describe API::Issues do it 'returns error when multiple assignees are passed' do get api("/issues", user), params: { assignee_username: [assignee.username, another_assignee.username], scope: 'all' } - expect(response).to have_gitlab_http_status(400) + expect(response).to have_gitlab_http_status(:bad_request) expect(json_response["error"]).to include("allows one value, but found 2") end it 'returns error when assignee_username and assignee_id are passed together' do get api("/issues", user), params: { assignee_username: [assignee.username], assignee_id: another_assignee.id, scope: 'all' } - expect(response).to have_gitlab_http_status(400) + expect(response).to have_gitlab_http_status(:bad_request) expect(json_response["error"]).to include("mutually exclusive") end end @@ -583,14 +583,14 @@ describe API::Issues do it 'returns public issues' do get api("/projects/#{project.id}/issues/#{issue.iid}") - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) end end it 'exposes known attributes' do get api("/projects/#{project.id}/issues/#{issue.iid}", user) - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['id']).to eq(issue.id) expect(json_response['iid']).to eq(issue.iid) expect(json_response['project_id']).to eq(issue.project.id) @@ -630,7 +630,7 @@ describe API::Issues do it 'exposes the closed_at attribute' do get api("/projects/#{project.id}/issues/#{closed_issue.iid}", user) - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['closed_at']).to be_present end @@ -650,39 +650,39 @@ describe API::Issues do it 'returns a project issue by internal id' do get api("/projects/#{project.id}/issues/#{issue.iid}", user) - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['title']).to eq(issue.title) expect(json_response['iid']).to eq(issue.iid) end it 'returns 404 if issue id not found' do get api("/projects/#{project.id}/issues/54321", user) - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) end it 'returns 404 if the issue ID is used' do get api("/projects/#{project.id}/issues/#{issue.id}", user) - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) end context 'confidential issues' do it 'returns 404 for non project members' do get api("/projects/#{project.id}/issues/#{confidential_issue.iid}", non_member) - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) end it 'returns 404 for project members with guest role' do get api("/projects/#{project.id}/issues/#{confidential_issue.iid}", guest) - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) end it 'returns confidential issue for project members' do get api("/projects/#{project.id}/issues/#{confidential_issue.iid}", user) - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['title']).to eq(confidential_issue.title) expect(json_response['iid']).to eq(confidential_issue.iid) end @@ -690,7 +690,7 @@ describe API::Issues do it 'returns confidential issue for author' do get api("/projects/#{project.id}/issues/#{confidential_issue.iid}", author) - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['title']).to eq(confidential_issue.title) expect(json_response['iid']).to eq(confidential_issue.iid) end @@ -698,7 +698,7 @@ describe API::Issues do it 'returns confidential issue for assignee' do get api("/projects/#{project.id}/issues/#{confidential_issue.iid}", assignee) - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['title']).to eq(confidential_issue.title) expect(json_response['iid']).to eq(confidential_issue.iid) end @@ -706,7 +706,7 @@ describe API::Issues do it 'returns confidential issue for admin' do get api("/projects/#{project.id}/issues/#{confidential_issue.iid}", admin) - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['title']).to eq(confidential_issue.title) expect(json_response['iid']).to eq(confidential_issue.iid) end @@ -744,7 +744,7 @@ describe API::Issues do it "returns 404 when issue doesn't exists" do get api("/projects/#{project.id}/issues/0/closed_by", user) - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) end end @@ -774,7 +774,7 @@ describe API::Issues do get_related_merge_requests(project.id, issue.iid) expect_paginated_array_response(related_mr.id) - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response.last).not_to have_key('subscribed') end @@ -785,7 +785,7 @@ describe API::Issues do get_related_merge_requests(private_project.id, private_issue.iid) - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) end end @@ -824,7 +824,7 @@ describe API::Issues do it "returns 404 when issue doesn't exists" do get_related_merge_requests(project.id, 0, user) - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) end end @@ -835,14 +835,14 @@ describe API::Issues do it 'returns unauthorized' do get api("/projects/#{project.id}/issues/#{issue.iid}/user_agent_detail") - expect(response).to have_gitlab_http_status(401) + expect(response).to have_gitlab_http_status(:unauthorized) end end it 'exposes known attributes' do get api("/projects/#{project.id}/issues/#{issue.iid}/user_agent_detail", admin) - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['user_agent']).to eq(user_agent_detail.user_agent) expect(json_response['ip_address']).to eq(user_agent_detail.ip_address) expect(json_response['akismet_submitted']).to eq(user_agent_detail.submitted) @@ -851,7 +851,7 @@ describe API::Issues do it 'returns unauthorized for non-admin users' do get api("/projects/#{project.id}/issues/#{issue.iid}/user_agent_detail", user) - expect(response).to have_gitlab_http_status(403) + expect(response).to have_gitlab_http_status(:forbidden) end end @@ -863,7 +863,7 @@ describe API::Issues do it 'returns 404 if the issue is confidential' do post api("/projects/#{project.id}/issues/#{confidential_issue.iid}/participants", non_member) - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) end end end diff --git a/spec/requests/api/issues/issues_spec.rb b/spec/requests/api/issues/issues_spec.rb index 45754736a2c..6fea6201a65 100644 --- a/spec/requests/api/issues/issues_spec.rb +++ b/spec/requests/api/issues/issues_spec.rb @@ -76,7 +76,7 @@ describe API::Issues do it 'returns issues statistics' do get api("/issues_statistics", user), params: params - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['statistics']).not_to be_nil expect(json_response['statistics']['counts']['all']).to eq counts[:all] expect(json_response['statistics']['counts']['closed']).to eq counts[:closed] @@ -89,39 +89,39 @@ describe API::Issues do it 'returns an array of all issues' do get api('/issues'), params: { scope: 'all' } - expect(response).to have_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response).to be_an Array end it 'returns authentication error without any scope' do get api('/issues') - expect(response).to have_http_status(401) + expect(response).to have_gitlab_http_status(:unauthorized) end it 'returns authentication error when scope is assigned-to-me' do get api('/issues'), params: { scope: 'assigned-to-me' } - expect(response).to have_http_status(401) + expect(response).to have_gitlab_http_status(:unauthorized) end it 'returns authentication error when scope is created-by-me' do get api('/issues'), params: { scope: 'created-by-me' } - expect(response).to have_http_status(401) + expect(response).to have_gitlab_http_status(:unauthorized) end it 'returns an array of issues matching state in milestone' do get api('/issues'), params: { milestone: 'foo', scope: 'all' } - expect(response).to have_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect_paginated_array_response([]) end it 'returns an array of issues matching state in milestone' do get api('/issues'), params: { milestone: milestone.title, scope: 'all' } - expect(response).to have_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect_paginated_array_response([issue.id, closed_issue.id]) end @@ -129,19 +129,19 @@ describe API::Issues do it 'returns authentication error without any scope' do get api('/issues_statistics') - expect(response).to have_http_status(401) + expect(response).to have_gitlab_http_status(:unauthorized) end it 'returns authentication error when scope is assigned_to_me' do get api('/issues_statistics'), params: { scope: 'assigned_to_me' } - expect(response).to have_http_status(401) + expect(response).to have_gitlab_http_status(:unauthorized) end it 'returns authentication error when scope is created_by_me' do get api('/issues_statistics'), params: { scope: 'created_by_me' } - expect(response).to have_http_status(401) + expect(response).to have_gitlab_http_status(:unauthorized) end context 'no state is treated as all state' do @@ -642,14 +642,14 @@ describe API::Issues do it 'accepts only predefined order by params' do API::Helpers::IssuesHelpers.sort_options.each do |sort_opt| get api('/issues', user), params: { order_by: sort_opt, sort: 'asc' } - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) end end it 'fails to sort with non predefined options' do %w(milestone title abracadabra).each do |sort_opt| get api('/issues', user), params: { order_by: sort_opt, sort: 'asc' } - expect(response).to have_gitlab_http_status(400) + expect(response).to have_gitlab_http_status(:bad_request) end end end @@ -657,14 +657,14 @@ describe API::Issues do it 'matches V4 response schema' do get api('/issues', user) - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(response).to match_response_schema('public_api/v4/issues') end it 'returns a related merge request count of 0 if there are no related merge requests' do get api('/issues', user) - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(response).to match_response_schema('public_api/v4/issues') expect(json_response.first).to include('merge_requests_count' => 0) end @@ -674,7 +674,7 @@ describe API::Issues do get api('/issues', user) - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(response).to match_response_schema('public_api/v4/issues') expect(json_response.first).to include('merge_requests_count' => 1) end @@ -767,14 +767,14 @@ describe API::Issues do it 'returns error when multiple assignees are passed' do get api("/issues", user), params: { assignee_username: [assignee.username, another_assignee.username], scope: 'all' } - expect(response).to have_gitlab_http_status(400) + expect(response).to have_gitlab_http_status(:bad_request) expect(json_response["error"]).to include("allows one value, but found 2") end it 'returns error when assignee_username and assignee_id are passed together' do get api("/issues", user), params: { assignee_username: [assignee.username], assignee_id: another_assignee.id, scope: 'all' } - expect(response).to have_gitlab_http_status(400) + expect(response).to have_gitlab_http_status(:bad_request) expect(json_response["error"]).to include("mutually exclusive") end end @@ -835,7 +835,7 @@ describe API::Issues do it 'exposes full reference path' do get api("/projects/#{project.id}/issues/#{issue.iid}", user) - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['references']['short']).to eq("##{issue.iid}") expect(json_response['references']['relative']).to eq("##{issue.iid}") expect(json_response['references']['full']).to eq("#{project.parent.path}/#{project.path}##{issue.iid}") @@ -845,12 +845,12 @@ describe API::Issues do describe 'DELETE /projects/:id/issues/:issue_iid' do it 'rejects a non member from deleting an issue' do delete api("/projects/#{project.id}/issues/#{issue.iid}", non_member) - expect(response).to have_gitlab_http_status(403) + expect(response).to have_gitlab_http_status(:forbidden) end it 'rejects a developer from deleting an issue' do delete api("/projects/#{project.id}/issues/#{issue.iid}", author) - expect(response).to have_gitlab_http_status(403) + expect(response).to have_gitlab_http_status(:forbidden) end context 'when the user is project owner' do @@ -860,7 +860,7 @@ describe API::Issues do it 'deletes the issue if an admin requests it' do delete api("/projects/#{project.id}/issues/#{issue.iid}", owner) - expect(response).to have_gitlab_http_status(204) + expect(response).to have_gitlab_http_status(:no_content) end it_behaves_like '412 response' do @@ -872,14 +872,14 @@ describe API::Issues do it 'returns 404 when trying to delete an issue' do delete api("/projects/#{project.id}/issues/123", user) - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) end end it 'returns 404 when using the issue ID instead of IID' do delete api("/projects/#{project.id}/issues/#{issue.id}", user) - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) end end diff --git a/spec/requests/api/issues/post_projects_issues_spec.rb b/spec/requests/api/issues/post_projects_issues_spec.rb index 782eda875af..0ec13eb2b31 100644 --- a/spec/requests/api/issues/post_projects_issues_spec.rb +++ b/spec/requests/api/issues/post_projects_issues_spec.rb @@ -75,7 +75,7 @@ describe API::Issues do post api("/projects/#{project.id}/issues", user), params: { title: 'new issue', assignee_id: user2.id } - expect(response).to have_gitlab_http_status(201) + expect(response).to have_gitlab_http_status(:created) expect(json_response['title']).to eq('new issue') expect(json_response['assignee']['name']).to eq(user2.name) expect(json_response['assignees'].first['name']).to eq(user2.name) @@ -85,7 +85,7 @@ describe API::Issues do post api("/projects/#{project.id}/issues", user), params: { title: 'new issue', assignee_id: '' } - expect(response).to have_gitlab_http_status(201) + expect(response).to have_gitlab_http_status(:created) expect(json_response['title']).to eq('new issue') expect(json_response['assignee']).to be_nil end @@ -96,7 +96,7 @@ describe API::Issues do post api("/projects/#{project.id}/issues", user), params: { title: 'new issue', assignee_ids: [user2.id, guest.id] } - expect(response).to have_gitlab_http_status(201) + expect(response).to have_gitlab_http_status(:created) expect(json_response['title']).to eq('new issue') expect(json_response['assignees'].count).to eq(1) end @@ -112,7 +112,7 @@ describe API::Issues do it 'renders 403' do post api("/projects/#{project.id}/issues", not_member), params: { title: 'new issue' } - expect(response).to have_gitlab_http_status(403) + expect(response).to have_gitlab_http_status(:forbidden) end end @@ -122,7 +122,7 @@ describe API::Issues do post api("/projects/#{project.id}/issues", admin), params: { title: 'new issue', iid: 9001 } - expect(response).to have_gitlab_http_status(201) + expect(response).to have_gitlab_http_status(:created) expect(json_response['iid']).to eq 9001 end end @@ -132,7 +132,7 @@ describe API::Issues do post api("/projects/#{project.id}/issues", user), params: { title: 'new issue', iid: 9001 } - expect(response).to have_gitlab_http_status(201) + expect(response).to have_gitlab_http_status(:created) expect(json_response['iid']).to eq 9001 end end @@ -146,7 +146,7 @@ describe API::Issues do post api("/projects/#{group_project.id}/issues", user2), params: { title: 'new issue', iid: 9001 } - expect(response).to have_gitlab_http_status(201) + expect(response).to have_gitlab_http_status(:created) expect(json_response['iid']).to eq 9001 end end @@ -156,7 +156,7 @@ describe API::Issues do post api("/projects/#{project.id}/issues", user2), params: { title: 'new issue', iid: 9001 } - expect(response).to have_gitlab_http_status(201) + expect(response).to have_gitlab_http_status(:created) expect(json_response['iid']).not_to eq 9001 end end @@ -166,7 +166,7 @@ describe API::Issues do post api("/projects/#{project.id}/issues", admin), params: { title: 'new issue', iid: issue.iid } - expect(response).to have_gitlab_http_status(409) + expect(response).to have_gitlab_http_status(:conflict) expect(json_response['message']).to eq 'Duplicated issue' end end @@ -176,7 +176,7 @@ describe API::Issues do post api("/projects/#{project.id}/issues", user), params: { title: 'new issue', labels: 'label, label2', weight: 3, assignee_ids: [user2.id] } - expect(response).to have_gitlab_http_status(201) + expect(response).to have_gitlab_http_status(:created) expect(json_response['title']).to eq('new issue') expect(json_response['description']).to be_nil expect(json_response['labels']).to eq(%w(label label2)) @@ -189,7 +189,7 @@ describe API::Issues do post api("/projects/#{project.id}/issues", user), params: { title: 'new issue', labels: %w(label label2), weight: 3, assignee_ids: [user2.id] } - expect(response).to have_gitlab_http_status(201) + expect(response).to have_gitlab_http_status(:created) expect(json_response['title']).to eq('new issue') expect(json_response['description']).to be_nil expect(json_response['labels']).to eq(%w(label label2)) @@ -202,7 +202,7 @@ describe API::Issues do post api("/projects/#{project.id}/issues", user), params: { title: 'new issue', confidential: true } - expect(response).to have_gitlab_http_status(201) + expect(response).to have_gitlab_http_status(:created) expect(json_response['title']).to eq('new issue') expect(json_response['confidential']).to be_truthy end @@ -211,7 +211,7 @@ describe API::Issues do post api("/projects/#{project.id}/issues", user), params: { title: 'new issue', confidential: 'y' } - expect(response).to have_gitlab_http_status(201) + expect(response).to have_gitlab_http_status(:created) expect(json_response['title']).to eq('new issue') expect(json_response['confidential']).to be_truthy end @@ -220,7 +220,7 @@ describe API::Issues do post api("/projects/#{project.id}/issues", user), params: { title: 'new issue', confidential: false } - expect(response).to have_gitlab_http_status(201) + expect(response).to have_gitlab_http_status(:created) expect(json_response['title']).to eq('new issue') expect(json_response['confidential']).to be_falsy end @@ -229,13 +229,13 @@ describe API::Issues do post api("/projects/#{project.id}/issues", user), params: { title: 'new issue', confidential: 'foo' } - expect(response).to have_gitlab_http_status(400) + expect(response).to have_gitlab_http_status(:bad_request) expect(json_response['error']).to eq('confidential is invalid') end it 'returns a 400 bad request if title not given' do post api("/projects/#{project.id}/issues", user), params: { labels: 'label, label2' } - expect(response).to have_gitlab_http_status(400) + expect(response).to have_gitlab_http_status(:bad_request) end it 'allows special label names' do @@ -269,7 +269,7 @@ describe API::Issues do it 'returns 400 if title is too long' do post api("/projects/#{project.id}/issues", user), params: { title: 'g' * 256 } - expect(response).to have_gitlab_http_status(400) + expect(response).to have_gitlab_http_status(:bad_request) expect(json_response['message']['title']).to eq([ 'is too long (maximum is 255 characters)' ]) @@ -317,7 +317,7 @@ describe API::Issues do post api("/projects/#{project.id}/issues", user), params: { title: 'new issue', due_date: due_date } - expect(response).to have_gitlab_http_status(201) + expect(response).to have_gitlab_http_status(:created) expect(json_response['title']).to eq('new issue') expect(json_response['description']).to be_nil expect(json_response['due_date']).to eq(due_date) @@ -332,7 +332,7 @@ describe API::Issues do it 'sets the creation time on the new issue' do post api("/projects/#{project.id}/issues", admin), params: params - expect(response).to have_gitlab_http_status(201) + expect(response).to have_gitlab_http_status(:created) expect(Time.parse(json_response['created_at'])).to be_like_time(creation_time) end end @@ -341,7 +341,7 @@ describe API::Issues do it 'sets the creation time on the new issue' do post api("/projects/#{project.id}/issues", user), params: params - expect(response).to have_gitlab_http_status(201) + expect(response).to have_gitlab_http_status(:created) expect(Time.parse(json_response['created_at'])).to be_like_time(creation_time) end end @@ -353,7 +353,7 @@ describe API::Issues do group.add_owner(user2) post api("/projects/#{group_project.id}/issues", user2), params: params - expect(response).to have_gitlab_http_status(201) + expect(response).to have_gitlab_http_status(:created) expect(Time.parse(json_response['created_at'])).to be_like_time(creation_time) end end @@ -362,7 +362,7 @@ describe API::Issues do it 'ignores the given creation time' do post api("/projects/#{project.id}/issues", user2), params: params - expect(response).to have_gitlab_http_status(201) + expect(response).to have_gitlab_http_status(:created) expect(Time.parse(json_response['created_at'])).not_to be_like_time(creation_time) end end @@ -417,7 +417,7 @@ describe API::Issues do it 'returns correct status and message' do post_issue - expect(response).to have_gitlab_http_status(400) + expect(response).to have_gitlab_http_status(:bad_request) expect(json_response['message']).to eq({ 'error' => 'Spam detected' }) end @@ -435,7 +435,7 @@ describe API::Issues do it 'returns correct status' do post_issue - expect(response).to have_gitlab_http_status(201) + expect(response).to have_gitlab_http_status(:created) end it 'creates a new spam log entry' do @@ -453,7 +453,7 @@ describe API::Issues do post api("/projects/#{project.id}/issues/#{issue.iid}/move", user), params: { to_project_id: target_project.id } - expect(response).to have_gitlab_http_status(201) + expect(response).to have_gitlab_http_status(:created) expect(json_response['project_id']).to eq(target_project.id) end @@ -462,7 +462,7 @@ describe API::Issues do post api("/projects/#{project.id}/issues/#{issue.iid}/move", user), params: { to_project_id: project.id } - expect(response).to have_gitlab_http_status(400) + expect(response).to have_gitlab_http_status(:bad_request) expect(json_response['message']).to eq(s_('MoveIssue|Cannot move issue to project it originates from!')) end end @@ -472,7 +472,7 @@ describe API::Issues do post api("/projects/#{project.id}/issues/#{issue.iid}/move", user), params: { to_project_id: target_project2.id } - expect(response).to have_gitlab_http_status(400) + expect(response).to have_gitlab_http_status(:bad_request) expect(json_response['message']).to eq(s_('MoveIssue|Cannot move issue due to insufficient permissions!')) end end @@ -481,7 +481,7 @@ describe API::Issues do post api("/projects/#{project.id}/issues/#{issue.iid}/move", admin), params: { to_project_id: target_project2.id } - expect(response).to have_gitlab_http_status(201) + expect(response).to have_gitlab_http_status(:created) expect(json_response['project_id']).to eq(target_project2.id) end @@ -490,7 +490,7 @@ describe API::Issues do post api("/projects/#{project.id}/issues/#{issue.id}/move", user), params: { to_project_id: target_project.id } - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) expect(json_response['message']).to eq('404 Issue Not Found') end end @@ -500,7 +500,7 @@ describe API::Issues do post api("/projects/#{project.id}/issues/123/move", user), params: { to_project_id: target_project.id } - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) expect(json_response['message']).to eq('404 Issue Not Found') end end @@ -510,7 +510,7 @@ describe API::Issues do post api("/projects/0/issues/#{issue.iid}/move", user), params: { to_project_id: target_project.id } - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) expect(json_response['message']).to eq('404 Project Not Found') end end @@ -520,7 +520,7 @@ describe API::Issues do post api("/projects/#{project.id}/issues/#{issue.iid}/move", user), params: { to_project_id: 0 } - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) end end end @@ -529,32 +529,32 @@ describe API::Issues do it 'subscribes to an issue' do post api("/projects/#{project.id}/issues/#{issue.iid}/subscribe", user2) - expect(response).to have_gitlab_http_status(201) + expect(response).to have_gitlab_http_status(:created) expect(json_response['subscribed']).to eq(true) end it 'returns 304 if already subscribed' do post api("/projects/#{project.id}/issues/#{issue.iid}/subscribe", user) - expect(response).to have_gitlab_http_status(304) + expect(response).to have_gitlab_http_status(:not_modified) end it 'returns 404 if the issue is not found' do post api("/projects/#{project.id}/issues/123/subscribe", user) - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) end it 'returns 404 if the issue ID is used instead of the iid' do post api("/projects/#{project.id}/issues/#{issue.id}/subscribe", user) - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) end it 'returns 404 if the issue is confidential' do post api("/projects/#{project.id}/issues/#{confidential_issue.iid}/subscribe", non_member) - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) end end @@ -562,32 +562,32 @@ describe API::Issues do it 'unsubscribes from an issue' do post api("/projects/#{project.id}/issues/#{issue.iid}/unsubscribe", user) - expect(response).to have_gitlab_http_status(201) + expect(response).to have_gitlab_http_status(:created) expect(json_response['subscribed']).to eq(false) end it 'returns 304 if not subscribed' do post api("/projects/#{project.id}/issues/#{issue.iid}/unsubscribe", user2) - expect(response).to have_gitlab_http_status(304) + expect(response).to have_gitlab_http_status(:not_modified) end it 'returns 404 if the issue is not found' do post api("/projects/#{project.id}/issues/123/unsubscribe", user) - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) end it 'returns 404 if using the issue ID instead of iid' do post api("/projects/#{project.id}/issues/#{issue.id}/unsubscribe", user) - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) end it 'returns 404 if the issue is confidential' do post api("/projects/#{project.id}/issues/#{confidential_issue.iid}/unsubscribe", non_member) - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) end end end diff --git a/spec/requests/api/issues/put_projects_issues_spec.rb b/spec/requests/api/issues/put_projects_issues_spec.rb index 709520b6bdf..b4332c555e1 100644 --- a/spec/requests/api/issues/put_projects_issues_spec.rb +++ b/spec/requests/api/issues/put_projects_issues_spec.rb @@ -73,7 +73,7 @@ describe API::Issues do it 'updates a project issue' do put api("/projects/#{project.id}/issues/#{issue.iid}", user), params: { title: 'updated title' } - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['title']).to eq('updated title') end @@ -81,13 +81,13 @@ describe API::Issues do it 'returns 404 error if issue iid not found' do put api("/projects/#{project.id}/issues/44444", user), params: { title: 'updated title' } - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) end it 'returns 404 error if issue id is used instead of the iid' do put api("/projects/#{project.id}/issues/#{issue.id}", user), params: { title: 'updated title' } - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) end it 'allows special label names' do @@ -124,33 +124,33 @@ describe API::Issues do it 'returns 403 for non project members' do put api("/projects/#{project.id}/issues/#{confidential_issue.iid}", non_member), params: { title: 'updated title' } - expect(response).to have_gitlab_http_status(403) + expect(response).to have_gitlab_http_status(:forbidden) end it 'returns 403 for project members with guest role' do put api("/projects/#{project.id}/issues/#{confidential_issue.iid}", guest), params: { title: 'updated title' } - expect(response).to have_gitlab_http_status(403) + expect(response).to have_gitlab_http_status(:forbidden) end it 'updates a confidential issue for project members' do put api("/projects/#{project.id}/issues/#{confidential_issue.iid}", user), params: { title: 'updated title' } - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['title']).to eq('updated title') end it 'updates a confidential issue for author' do put api("/projects/#{project.id}/issues/#{confidential_issue.iid}", author), params: { title: 'updated title' } - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['title']).to eq('updated title') end it 'updates a confidential issue for admin' do put api("/projects/#{project.id}/issues/#{confidential_issue.iid}", admin), params: { title: 'updated title' } - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['title']).to eq('updated title') end @@ -158,7 +158,7 @@ describe API::Issues do put api("/projects/#{project.id}/issues/#{issue.iid}", user), params: { confidential: true } - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['confidential']).to be_truthy end @@ -166,7 +166,7 @@ describe API::Issues do put api("/projects/#{project.id}/issues/#{confidential_issue.iid}", user), params: { confidential: false } - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['confidential']).to be_falsy end @@ -174,7 +174,7 @@ describe API::Issues do put api("/projects/#{project.id}/issues/#{confidential_issue.iid}", user), params: { confidential: 'foo' } - expect(response).to have_gitlab_http_status(400) + expect(response).to have_gitlab_http_status(:bad_request) expect(json_response['error']).to eq('confidential is invalid') end end @@ -214,7 +214,7 @@ describe API::Issues do it 'returns correct status and message' do update_issue - expect(response).to have_gitlab_http_status(400) + expect(response).to have_gitlab_http_status(:bad_request) expect(json_response).to include('message' => { 'error' => 'Spam detected' }) end @@ -232,7 +232,7 @@ describe API::Issues do it 'returns correct status and message' do update_issue - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) end it 'creates a new spam log entry' do @@ -248,7 +248,7 @@ describe API::Issues do put api("/projects/#{project.id}/issues/#{issue.iid}", user), params: { assignee_id: 0 } - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['assignee']).to be_nil end @@ -257,7 +257,7 @@ describe API::Issues do put api("/projects/#{project.id}/issues/#{issue.iid}", user), params: { assignee_id: user2.id } - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['assignee']['name']).to eq(user2.name) end @@ -267,7 +267,7 @@ describe API::Issues do put api("/projects/#{project.id}/issues/#{issue.iid}", user), params: { assignee_ids: [0] } - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['assignees']).to be_empty end @@ -276,7 +276,7 @@ describe API::Issues do put api("/projects/#{project.id}/issues/#{issue.iid}", user), params: { assignee_ids: [user2.id] } - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['assignees'].first['name']).to eq(user2.name) end @@ -286,7 +286,7 @@ describe API::Issues do put api("/projects/#{project.id}/issues/#{issue.iid}", user), params: { assignee_ids: [user2.id, guest.id] } - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['assignees'].size).to eq(1) end @@ -300,7 +300,7 @@ describe API::Issues do it 'does not update labels if not present' do put api("/projects/#{project.id}/issues/#{issue.iid}", user), params: { title: 'updated title' } - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['labels']).to eq([label.title]) end @@ -309,7 +309,7 @@ describe API::Issues do put api("/projects/#{project.id}/issues/#{issue.iid}", user), params: { labels: '' } end - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['labels']).to eq([]) expect(json_response['updated_at']).to be > Time.now end @@ -319,7 +319,7 @@ describe API::Issues do put api("/projects/#{project.id}/issues/#{issue.iid}", user), params: { labels: [''] } end - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['labels']).to eq([]) expect(json_response['updated_at']).to be > Time.now end @@ -329,7 +329,7 @@ describe API::Issues do put api("/projects/#{project.id}/issues/#{issue.iid}", user), params: { labels: 'foo,bar' } end - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['labels']).to include 'foo' expect(json_response['labels']).to include 'bar' expect(json_response['updated_at']).to be > Time.now @@ -340,7 +340,7 @@ describe API::Issues do put api("/projects/#{project.id}/issues/#{issue.iid}", user), params: { labels: %w(foo bar) } end - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['labels']).to include 'foo' expect(json_response['labels']).to include 'bar' expect(json_response['updated_at']).to be > Time.now @@ -377,7 +377,7 @@ describe API::Issues do it 'returns 400 if title is too long' do put api("/projects/#{project.id}/issues/#{issue.iid}", user), params: { title: 'g' * 256 } - expect(response).to have_gitlab_http_status(400) + expect(response).to have_gitlab_http_status(:bad_request) expect(json_response['message']['title']).to eq([ 'is too long (maximum is 255 characters)' ]) @@ -388,7 +388,7 @@ describe API::Issues do it 'updates a project issue' do put api("/projects/#{project.id}/issues/#{issue.iid}", user), params: { labels: 'label2', state_event: 'close' } - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['labels']).to include 'label2' expect(json_response['state']).to eq 'closed' @@ -397,7 +397,7 @@ describe API::Issues do it 'reopens a project isssue' do put api("/projects/#{project.id}/issues/#{closed_issue.iid}", user), params: { state_event: 'reopen' } - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['state']).to eq 'opened' end @@ -407,7 +407,7 @@ describe API::Issues do put api("/projects/#{project.id}/issues/#{issue.iid}", user), params: { labels: 'label3', state_event: 'close', updated_at: update_time } - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['labels']).to include 'label3' expect(Time.parse(json_response['updated_at'])).to be_like_time(update_time) end @@ -420,7 +420,7 @@ describe API::Issues do put api("/projects/#{project.id}/issues/#{issue.iid}", user), params: { due_date: due_date } - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['due_date']).to eq(due_date) end end |