From e5a09709ea7c3104d5aad141132caabde097e1b3 Mon Sep 17 00:00:00 2001 From: Heinrich Lee Yu Date: Fri, 26 Oct 2018 20:37:52 +0800 Subject: Update API to accept None and Any --- spec/requests/api/issues_spec.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'spec/requests/api') diff --git a/spec/requests/api/issues_spec.rb b/spec/requests/api/issues_spec.rb index 9cda39a569b..7813f6bc550 100644 --- a/spec/requests/api/issues_spec.rb +++ b/spec/requests/api/issues_spec.rb @@ -55,8 +55,8 @@ describe API::Issues do end let!(:note) { create(:note_on_issue, author: user, project: project, noteable: issue) } - let(:no_milestone_title) { URI.escape(Milestone::None.title) } - let(:any_milestone_title) { URI.escape(Milestone::Any.title) } + let(:no_milestone_title) { "None" } + let(:any_milestone_title) { "Any" } before(:all) do project.add_reporter(user) -- cgit v1.2.1 From 385524c3ea7bde5cac889776b08a7287e241387f Mon Sep 17 00:00:00 2001 From: Heinrich Lee Yu Date: Sat, 27 Oct 2018 11:18:31 +0800 Subject: Add tests --- spec/requests/api/issues_spec.rb | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'spec/requests/api') diff --git a/spec/requests/api/issues_spec.rb b/spec/requests/api/issues_spec.rb index 9cda39a569b..ff32290db07 100644 --- a/spec/requests/api/issues_spec.rb +++ b/spec/requests/api/issues_spec.rb @@ -196,14 +196,24 @@ describe API::Issues do expect_paginated_array_response(size: 3) end - it 'returns issues reacted by the authenticated user by the given emoji' do + it 'returns issues reacted by the authenticated user' do issue2 = create(:issue, project: project, author: user, assignees: [user]) award_emoji = create(:award_emoji, awardable: issue2, user: user2, name: 'star') - get api('/issues', user2), my_reaction_emoji: award_emoji.name, scope: 'all' + create(:award_emoji, awardable: issue, user: user2, name: 'thumbsup') - expect_paginated_array_response(size: 1) - expect(first_issue['id']).to eq(issue2.id) + get api('/issues', user2), my_reaction_emoji: 'Any', scope: 'all' + + expect_paginated_array_response(size: 2) + end + + it 'returns issues not reacted by the authenticated user' do + issue2 = create(:issue, project: project, author: user, assignees: [user]) + create(:award_emoji, awardable: issue2, user: user2, name: 'star') + + get api('/issues', user2), my_reaction_emoji: 'None', scope: 'all' + + expect_paginated_array_response(size: 2) end it 'returns issues matching given search string for title' do -- cgit v1.2.1 From 8df7e6021b0da30e3b7550ca83cd9ab3f991c235 Mon Sep 17 00:00:00 2001 From: Heinrich Lee Yu Date: Sat, 27 Oct 2018 23:52:26 +0800 Subject: Fix tests --- spec/requests/api/issues_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'spec/requests/api') diff --git a/spec/requests/api/issues_spec.rb b/spec/requests/api/issues_spec.rb index ff32290db07..d2df460ced2 100644 --- a/spec/requests/api/issues_spec.rb +++ b/spec/requests/api/issues_spec.rb @@ -198,7 +198,7 @@ describe API::Issues do it 'returns issues reacted by the authenticated user' do issue2 = create(:issue, project: project, author: user, assignees: [user]) - award_emoji = create(:award_emoji, awardable: issue2, user: user2, name: 'star') + create(:award_emoji, awardable: issue2, user: user2, name: 'star') create(:award_emoji, awardable: issue, user: user2, name: 'thumbsup') -- cgit v1.2.1 From 733ae9492129e835f183902a97ee0886e2dbdc9b Mon Sep 17 00:00:00 2001 From: George Tsiolis Date: Tue, 30 Oct 2018 12:53:01 +0200 Subject: Fix typos in comments and specs --- spec/requests/api/commits_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'spec/requests/api') diff --git a/spec/requests/api/commits_spec.rb b/spec/requests/api/commits_spec.rb index 98399471f9a..2963dea634a 100644 --- a/spec/requests/api/commits_spec.rb +++ b/spec/requests/api/commits_spec.rb @@ -565,7 +565,7 @@ describe API::Commits do } end - it 'are commited as one in project repo' do + it 'are committed as one in project repo' do post api(url, user), valid_mo_params expect(response).to have_gitlab_http_status(201) -- cgit v1.2.1 From 17a7b4113290435560275e408b1764f4b308295f Mon Sep 17 00:00:00 2001 From: Helmut Januschka Date: Wed, 19 Sep 2018 10:06:03 +0200 Subject: add related merge request endpoint --- spec/requests/api/issues_spec.rb | 68 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) (limited to 'spec/requests/api') diff --git a/spec/requests/api/issues_spec.rb b/spec/requests/api/issues_spec.rb index 5dbe967e4fe..3d532dd83c7 100644 --- a/spec/requests/api/issues_spec.rb +++ b/spec/requests/api/issues_spec.rb @@ -1801,6 +1801,74 @@ describe API::Issues do end end + describe 'GET :id/issues/:issue_iid/related_merge_requests' do + def get_related_merge_requests(project_id, issue_iid, user = nil) + get api("/projects/#{project_id}/issues/#{issue_iid}/related_merge_requests", user) + end + + def create_referencing_mr(user, project, issue) + attributes = { + author: user, + source_project: project, + target_project: project, + source_branch: "master", + target_branch: "test", + description: "See #{issue.to_reference}" + } + create(:merge_request, attributes).tap do |merge_request| + create(:note, :system, project: project, noteable: issue, author: user, note: merge_request.to_reference(full: true)) + end + end + + let!(:related_mr) { create_referencing_mr(user, project, issue) } + + context 'when unauthenticated' do + it 'return list of referenced merge requests from issue' do + get_related_merge_requests(project.id, issue.iid) + + expect_paginated_array_response(size: 1) + end + + it 'renders 404 if project is not visible' do + private_project = create(:project, :private) + private_issue = create(:issue, project: private_project) + create_referencing_mr(user, private_project, private_issue) + + get_related_merge_requests(private_project.id, private_issue.iid) + + expect(response).to have_gitlab_http_status(404) + end + end + + it 'returns merge requests that mentioned a issue' do + create(:merge_request, + :simple, + author: user, + source_project: project, + target_project: project, + description: "Some description") + + get_related_merge_requests(project.id, issue.iid, user) + + expect_paginated_array_response(size: 1) + expect(json_response.first['id']).to eq(related_mr.id) + end + + context 'no merge request mentioned a issue' do + it 'returns empty array' do + get_related_merge_requests(project.id, closed_issue.iid, user) + + expect_paginated_array_response(size: 0) + end + end + + it "returns 404 when issue doesn't exists" do + get_related_merge_requests(project.id, 999999, user) + + expect(response).to have_gitlab_http_status(404) + end + end + describe "GET /projects/:id/issues/:issue_iid/user_agent_detail" do let!(:user_agent_detail) { create(:user_agent_detail, subject: issue) } -- cgit v1.2.1