From 9f46488805e86b1bc341ea1620b866016c2ce5ed Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Wed, 20 May 2020 14:34:42 +0000 Subject: Add latest changes from gitlab-org/gitlab@13-0-stable-ee --- spec/requests/api/issues/get_group_issues_spec.rb | 51 ++++++++++++++++------ spec/requests/api/issues/issues_spec.rb | 26 ++++------- .../api/issues/post_projects_issues_spec.rb | 2 +- .../api/issues/put_projects_issues_spec.rb | 9 ++-- 4 files changed, 53 insertions(+), 35 deletions(-) (limited to 'spec/requests/api/issues') diff --git a/spec/requests/api/issues/get_group_issues_spec.rb b/spec/requests/api/issues/get_group_issues_spec.rb index 3ec5f380390..5c925d2a32e 100644 --- a/spec/requests/api/issues/get_group_issues_spec.rb +++ b/spec/requests/api/issues/get_group_issues_spec.rb @@ -3,26 +3,26 @@ require 'spec_helper' describe API::Issues do - let_it_be(:user) { create(:user) } - let(:user2) { create(:user) } - let(:non_member) { create(:user) } - let_it_be(:guest) { create(:user) } - let_it_be(:author) { create(:author) } - let_it_be(:assignee) { create(:assignee) } - let(:admin) { create(:user, :admin) } - let(:issue_title) { 'foo' } - let(:issue_description) { 'closed' } - let(:no_milestone_title) { 'None' } - let(:any_milestone_title) { 'Any' } + let_it_be(:user2) { create(:user) } + let_it_be(:admin) { create(:user, :admin) } + let_it_be(:non_member) { create(:user) } + let_it_be(:user) { create(:user) } + let_it_be(:guest) { create(:user) } + let_it_be(:author) { create(:author) } + let_it_be(:assignee) { create(:assignee) } + let_it_be(:issue_title) { 'foo' } + let_it_be(:issue_description) { 'closed' } + let_it_be(:no_milestone_title) { 'None' } + let_it_be(:any_milestone_title) { 'Any' } before do stub_licensed_features(multiple_issue_assignees: false, issue_weights: false) end describe 'GET /groups/:id/issues' do - let!(:group) { create(:group) } - let!(:group_project) { create(:project, :public, :repository, creator_id: user.id, namespace: group) } - let!(:private_mrs_project) do + let_it_be(:group) { create(:group) } + let_it_be(:group_project) { create(:project, :public, :repository, creator_id: user.id, namespace: group) } + let_it_be(:private_mrs_project) do create(:project, :public, :repository, creator_id: user.id, namespace: group, merge_requests_access_level: ProjectFeature::PRIVATE) end @@ -455,6 +455,29 @@ describe API::Issues do it_behaves_like 'labeled issues with labels and label_name params' end + context 'with archived projects' do + let_it_be(:archived_issue) do + create( + :issue, author: user, assignees: [user], + project: create(:project, :public, :archived, creator_id: user.id, namespace: group) + ) + end + + it 'returns only non archived projects issues' do + get api(base_url, user) + + expect_paginated_array_response([group_closed_issue.id, group_confidential_issue.id, group_issue.id]) + end + + it 'returns issues from archived projects if non_archived it set to false' do + get api(base_url, user), params: { non_archived: false } + + expect_paginated_array_response( + [archived_issue.id, group_closed_issue.id, group_confidential_issue.id, group_issue.id] + ) + end + end + it 'returns an array of issues found by iids' do get api(base_url, user), params: { iids: [group_issue.iid] } diff --git a/spec/requests/api/issues/issues_spec.rb b/spec/requests/api/issues/issues_spec.rb index 00169c1529f..06878f57d43 100644 --- a/spec/requests/api/issues/issues_spec.rb +++ b/spec/requests/api/issues/issues_spec.rb @@ -780,28 +780,20 @@ describe API::Issues do end context 'filtering by non_archived' do - let_it_be(:group1) { create(:group) } - let_it_be(:archived_project) { create(:project, :archived, namespace: group1) } - let_it_be(:active_project) { create(:project, namespace: group1) } - let_it_be(:issue1) { create(:issue, project: active_project) } - let_it_be(:issue2) { create(:issue, project: active_project) } - let_it_be(:issue3) { create(:issue, project: archived_project) } + let_it_be(:archived_project) { create(:project, :archived, creator_id: user.id, namespace: user.namespace) } + let_it_be(:archived_issue) { create(:issue, author: user, project: archived_project) } + let_it_be(:active_issue) { create(:issue, author: user, project: project) } - before do - archived_project.add_developer(user) - active_project.add_developer(user) - end - - it 'returns issues from non archived projects only by default' do - get api("/groups/#{group1.id}/issues", user), params: { scope: 'all' } + it 'returns issues from non archived projects by default' do + get api('/issues', user) - expect_paginated_array_response([issue2.id, issue1.id]) + expect_paginated_array_response(active_issue.id, issue.id, closed_issue.id) end - it 'returns issues from archived and non archived projects when non_archived is false' do - get api("/groups/#{group1.id}/issues", user), params: { non_archived: false, scope: 'all' } + it 'returns issues from archived project with non_archived set as false' do + get api("/issues", user), params: { non_archived: false } - expect_paginated_array_response([issue3.id, issue2.id, issue1.id]) + expect_paginated_array_response(active_issue.id, archived_issue.id, issue.id, closed_issue.id) end 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 1444f43003f..2e1e5d3204e 100644 --- a/spec/requests/api/issues/post_projects_issues_spec.rb +++ b/spec/requests/api/issues/post_projects_issues_spec.rb @@ -403,7 +403,7 @@ describe API::Issues do end before do - expect_next_instance_of(Spam::SpamCheckService) do |spam_service| + expect_next_instance_of(Spam::SpamActionService) do |spam_service| expect(spam_service).to receive_messages(check_for_spam?: true) end expect_next_instance_of(Spam::AkismetService) do |akismet_service| diff --git a/spec/requests/api/issues/put_projects_issues_spec.rb b/spec/requests/api/issues/put_projects_issues_spec.rb index ffc5e2b1db8..2ab8b9d7877 100644 --- a/spec/requests/api/issues/put_projects_issues_spec.rb +++ b/spec/requests/api/issues/put_projects_issues_spec.rb @@ -182,6 +182,8 @@ describe API::Issues do end describe 'PUT /projects/:id/issues/:issue_iid with spam filtering' do + include_context 'includes Spam constants' + def update_issue put api("/projects/#{project.id}/issues/#{issue.iid}", user), params: params end @@ -195,11 +197,12 @@ describe API::Issues do end before do - expect_next_instance_of(Spam::SpamCheckService) do |spam_service| + expect_next_instance_of(Spam::SpamActionService) do |spam_service| expect(spam_service).to receive_messages(check_for_spam?: true) end - expect_next_instance_of(Spam::AkismetService) do |akismet_service| - expect(akismet_service).to receive_messages(spam?: true) + + expect_next_instance_of(Spam::SpamVerdictService) do |verdict_service| + expect(verdict_service).to receive(:execute).and_return(DISALLOW) end end -- cgit v1.2.3