Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/requests/api/v3/issues_spec.rb')
-rw-r--r--spec/requests/api/v3/issues_spec.rb72
1 files changed, 66 insertions, 6 deletions
diff --git a/spec/requests/api/v3/issues_spec.rb b/spec/requests/api/v3/issues_spec.rb
index ef5b10a1615..a1124aebcec 100644
--- a/spec/requests/api/v3/issues_spec.rb
+++ b/spec/requests/api/v3/issues_spec.rb
@@ -14,7 +14,7 @@ describe API::V3::Issues do
let!(:closed_issue) do
create :closed_issue,
author: user,
- assignee: user,
+ assignees: [user],
project: project,
state: :closed,
milestone: milestone,
@@ -26,14 +26,14 @@ describe API::V3::Issues do
:confidential,
project: project,
author: author,
- assignee: assignee,
+ assignees: [assignee],
created_at: generate(:past_time),
updated_at: 2.hours.ago
end
let!(:issue) do
create :issue,
author: user,
- assignee: user,
+ assignees: [user],
project: project,
milestone: milestone,
created_at: generate(:past_time),
@@ -247,7 +247,7 @@ describe API::V3::Issues do
let!(:group_closed_issue) do
create :closed_issue,
author: user,
- assignee: user,
+ assignees: [user],
project: group_project,
state: :closed,
milestone: group_milestone,
@@ -258,13 +258,13 @@ describe API::V3::Issues do
:confidential,
project: group_project,
author: author,
- assignee: assignee,
+ assignees: [assignee],
updated_at: 2.hours.ago
end
let!(:group_issue) do
create :issue,
author: user,
- assignee: user,
+ assignees: [user],
project: group_project,
milestone: group_milestone,
updated_at: 1.hour.ago
@@ -737,13 +737,22 @@ describe API::V3::Issues do
describe "POST /projects/:id/issues" do
it 'creates a new project issue' do
post v3_api("/projects/#{project.id}/issues", user),
+<<<<<<< HEAD
title: 'new issue', labels: 'label, label2'
+=======
+ title: 'new issue', labels: 'label, label2', weight: 3, assignee_id: assignee.id
+>>>>>>> b0a2435... Merge branch 'multiple_assignees_review_upstream' into ee_master
expect(response).to have_http_status(201)
expect(json_response['title']).to eq('new issue')
expect(json_response['description']).to be_nil
expect(json_response['labels']).to eq(%w(label label2))
expect(json_response['confidential']).to be_falsy
+<<<<<<< HEAD
+=======
+ expect(json_response['weight']).to eq(3)
+ expect(json_response['assignee']['name']).to eq(assignee.name)
+>>>>>>> b0a2435... Merge branch 'multiple_assignees_review_upstream' into ee_master
end
it 'creates a new confidential project issue' do
@@ -1140,6 +1149,57 @@ describe API::V3::Issues do
end
end
+<<<<<<< HEAD
+=======
+ describe 'PUT /projects/:id/issues/:issue_id to update assignee' do
+ it 'updates an issue with no assignee' do
+ put v3_api("/projects/#{project.id}/issues/#{issue.id}", user), assignee_id: 0
+
+ expect(response).to have_http_status(200)
+ expect(json_response['assignee']).to eq(nil)
+ end
+
+ it 'updates an issue with assignee' do
+ put v3_api("/projects/#{project.id}/issues/#{issue.id}", user), assignee_id: user2.id
+
+ expect(response).to have_http_status(200)
+ expect(json_response['assignee']['name']).to eq(user2.name)
+ end
+ end
+
+ describe 'PUT /projects/:id/issues/:issue_id to update weight' do
+ it 'updates an issue with no weight' do
+ put v3_api("/projects/#{project.id}/issues/#{issue.id}", user), weight: 5
+
+ expect(response).to have_http_status(200)
+ expect(json_response['weight']).to eq(5)
+ end
+
+ it 'removes a weight from an issue' do
+ weighted_issue = create(:issue, project: project, weight: 2)
+
+ put v3_api("/projects/#{project.id}/issues/#{weighted_issue.id}", user), weight: nil
+
+ expect(response).to have_http_status(200)
+ expect(json_response['weight']).to be_nil
+ end
+
+ it 'returns 400 if weight is less than minimum weight' do
+ put v3_api("/projects/#{project.id}/issues/#{issue.id}", user), weight: -1
+
+ expect(response).to have_http_status(400)
+ expect(json_response['error']).to eq('weight does not have a valid value')
+ end
+
+ it 'returns 400 if weight is more than maximum weight' do
+ put v3_api("/projects/#{project.id}/issues/#{issue.id}", user), weight: 10
+
+ expect(response).to have_http_status(400)
+ expect(json_response['error']).to eq('weight does not have a valid value')
+ end
+ end
+
+>>>>>>> b0a2435... Merge branch 'multiple_assignees_review_upstream' into ee_master
describe "DELETE /projects/:id/issues/:issue_id" do
it "rejects a non member from deleting an issue" do
delete v3_api("/projects/#{project.id}/issues/#{issue.id}", non_member)