summaryrefslogtreecommitdiff
path: root/spec/services/issues
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-07-20 12:26:25 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-07-20 12:26:25 +0000
commita09983ae35713f5a2bbb100981116d31ce99826e (patch)
tree2ee2af7bd104d57086db360a7e6d8c9d5d43667a /spec/services/issues
parent18c5ab32b738c0b6ecb4d0df3994000482f34bd8 (diff)
downloadgitlab-ce-a09983ae35713f5a2bbb100981116d31ce99826e.tar.gz
Add latest changes from gitlab-org/gitlab@13-2-stable-ee
Diffstat (limited to 'spec/services/issues')
-rw-r--r--spec/services/issues/build_service_spec.rb2
-rw-r--r--spec/services/issues/close_service_spec.rb2
-rw-r--r--spec/services/issues/create_service_spec.rb6
-rw-r--r--spec/services/issues/duplicate_service_spec.rb2
-rw-r--r--spec/services/issues/export_csv_service_spec.rb2
-rw-r--r--spec/services/issues/import_csv_service_spec.rb2
-rw-r--r--spec/services/issues/move_service_spec.rb47
-rw-r--r--spec/services/issues/referenced_merge_requests_service_spec.rb2
-rw-r--r--spec/services/issues/related_branches_service_spec.rb2
-rw-r--r--spec/services/issues/reopen_service_spec.rb2
-rw-r--r--spec/services/issues/reorder_service_spec.rb2
-rw-r--r--spec/services/issues/resolve_discussions_spec.rb2
-rw-r--r--spec/services/issues/update_service_spec.rb7
-rw-r--r--spec/services/issues/zoom_link_service_spec.rb2
14 files changed, 67 insertions, 15 deletions
diff --git a/spec/services/issues/build_service_spec.rb b/spec/services/issues/build_service_spec.rb
index 140b78f9b7a..68b226b02da 100644
--- a/spec/services/issues/build_service_spec.rb
+++ b/spec/services/issues/build_service_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper.rb'
-describe Issues::BuildService do
+RSpec.describe Issues::BuildService do
let(:project) { create(:project, :repository) }
let(:user) { create(:user) }
diff --git a/spec/services/issues/close_service_spec.rb b/spec/services/issues/close_service_spec.rb
index 78eba565de4..6678d831775 100644
--- a/spec/services/issues/close_service_spec.rb
+++ b/spec/services/issues/close_service_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-describe Issues::CloseService do
+RSpec.describe Issues::CloseService do
let(:project) { create(:project, :repository) }
let(:user) { create(:user, email: "user@example.com") }
let(:user2) { create(:user, email: "user2@example.com") }
diff --git a/spec/services/issues/create_service_spec.rb b/spec/services/issues/create_service_spec.rb
index bb02941576a..fdf2326b75e 100644
--- a/spec/services/issues/create_service_spec.rb
+++ b/spec/services/issues/create_service_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-describe Issues::CreateService do
+RSpec.describe Issues::CreateService do
let(:project) { create(:project) }
let(:user) { create(:user) }
@@ -284,7 +284,9 @@ describe Issues::CreateService do
end
end
- it_behaves_like 'new issuable record that supports quick actions'
+ it_behaves_like 'issuable record that supports quick actions' do
+ let(:issuable) { described_class.new(project, user, params).execute }
+ end
context 'Quick actions' do
context 'with assignee and milestone in params and command' do
diff --git a/spec/services/issues/duplicate_service_spec.rb b/spec/services/issues/duplicate_service_spec.rb
index 41a151b0ca1..78e030e6ac7 100644
--- a/spec/services/issues/duplicate_service_spec.rb
+++ b/spec/services/issues/duplicate_service_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-describe Issues::DuplicateService do
+RSpec.describe Issues::DuplicateService do
let(:user) { create(:user) }
let(:canonical_project) { create(:project) }
let(:duplicate_project) { create(:project) }
diff --git a/spec/services/issues/export_csv_service_spec.rb b/spec/services/issues/export_csv_service_spec.rb
index 419e29d92a8..76381fe525b 100644
--- a/spec/services/issues/export_csv_service_spec.rb
+++ b/spec/services/issues/export_csv_service_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-describe Issues::ExportCsvService do
+RSpec.describe Issues::ExportCsvService do
let_it_be(:user) { create(:user) }
let(:group) { create(:group) }
let(:project) { create(:project, :public, group: group) }
diff --git a/spec/services/issues/import_csv_service_spec.rb b/spec/services/issues/import_csv_service_spec.rb
index 92b88489af9..cc3e1d23a74 100644
--- a/spec/services/issues/import_csv_service_spec.rb
+++ b/spec/services/issues/import_csv_service_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-describe Issues::ImportCsvService do
+RSpec.describe Issues::ImportCsvService do
let(:project) { create(:project) }
let(:user) { create(:user) }
diff --git a/spec/services/issues/move_service_spec.rb b/spec/services/issues/move_service_spec.rb
index a449541f459..8929907a179 100644
--- a/spec/services/issues/move_service_spec.rb
+++ b/spec/services/issues/move_service_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-describe Issues::MoveService do
+RSpec.describe Issues::MoveService do
let(:user) { create(:user) }
let(:author) { create(:user) }
let(:title) { 'Some issue' }
@@ -210,4 +210,49 @@ describe Issues::MoveService do
end
end
end
+
+ context 'updating sent notifications' do
+ let!(:old_issue_notification_1) { create(:sent_notification, project: old_issue.project, noteable: old_issue) }
+ let!(:old_issue_notification_2) { create(:sent_notification, project: old_issue.project, noteable: old_issue) }
+ let!(:other_issue_notification) { create(:sent_notification, project: old_issue.project) }
+
+ include_context 'user can move issue'
+
+ context 'when issue is from service desk' do
+ before do
+ allow(old_issue).to receive(:from_service_desk?).and_return(true)
+ end
+
+ it 'updates moved issue sent notifications' do
+ new_issue = move_service.execute(old_issue, new_project)
+
+ old_issue_notification_1.reload
+ old_issue_notification_2.reload
+ expect(old_issue_notification_1.project_id).to eq(new_issue.project_id)
+ expect(old_issue_notification_1.noteable_id).to eq(new_issue.id)
+ expect(old_issue_notification_2.project_id).to eq(new_issue.project_id)
+ expect(old_issue_notification_2.noteable_id).to eq(new_issue.id)
+ end
+
+ it 'does not update other issues sent notifications' do
+ expect do
+ move_service.execute(old_issue, new_project)
+ other_issue_notification.reload
+ end.not_to change { other_issue_notification.noteable_id }
+ end
+ end
+
+ context 'when issue is not from service desk' do
+ it 'does not update sent notifications' do
+ move_service.execute(old_issue, new_project)
+
+ old_issue_notification_1.reload
+ old_issue_notification_2.reload
+ expect(old_issue_notification_1.project_id).to eq(old_issue.project_id)
+ expect(old_issue_notification_1.noteable_id).to eq(old_issue.id)
+ expect(old_issue_notification_2.project_id).to eq(old_issue.project_id)
+ expect(old_issue_notification_2.noteable_id).to eq(old_issue.id)
+ end
+ end
+ end
end
diff --git a/spec/services/issues/referenced_merge_requests_service_spec.rb b/spec/services/issues/referenced_merge_requests_service_spec.rb
index 2c5af11d2e6..bf7a4c97e48 100644
--- a/spec/services/issues/referenced_merge_requests_service_spec.rb
+++ b/spec/services/issues/referenced_merge_requests_service_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper.rb'
-describe Issues::ReferencedMergeRequestsService do
+RSpec.describe Issues::ReferencedMergeRequestsService do
def create_referencing_mr(attributes = {})
create(:merge_request, attributes).tap do |merge_request|
create(:note, :system, project: project, noteable: issue, author: user, note: merge_request.to_reference(full: true))
diff --git a/spec/services/issues/related_branches_service_spec.rb b/spec/services/issues/related_branches_service_spec.rb
index 9f72e499414..d79132d98db 100644
--- a/spec/services/issues/related_branches_service_spec.rb
+++ b/spec/services/issues/related_branches_service_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-describe Issues::RelatedBranchesService do
+RSpec.describe Issues::RelatedBranchesService do
let_it_be(:developer) { create(:user) }
let_it_be(:issue) { create(:issue) }
let(:user) { developer }
diff --git a/spec/services/issues/reopen_service_spec.rb b/spec/services/issues/reopen_service_spec.rb
index ca878ee947a..f7416203259 100644
--- a/spec/services/issues/reopen_service_spec.rb
+++ b/spec/services/issues/reopen_service_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-describe Issues::ReopenService do
+RSpec.describe Issues::ReopenService do
let(:project) { create(:project) }
let(:issue) { create(:issue, :closed, project: project) }
diff --git a/spec/services/issues/reorder_service_spec.rb b/spec/services/issues/reorder_service_spec.rb
index 6d72d698b1d..b6ad488a48c 100644
--- a/spec/services/issues/reorder_service_spec.rb
+++ b/spec/services/issues/reorder_service_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-describe Issues::ReorderService do
+RSpec.describe Issues::ReorderService do
let_it_be(:user) { create(:user) }
let_it_be(:project) { create(:project) }
let_it_be(:group) { create(:group) }
diff --git a/spec/services/issues/resolve_discussions_spec.rb b/spec/services/issues/resolve_discussions_spec.rb
index ec6624db6fc..a541d92feb2 100644
--- a/spec/services/issues/resolve_discussions_spec.rb
+++ b/spec/services/issues/resolve_discussions_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper.rb'
-describe Issues::ResolveDiscussions do
+RSpec.describe Issues::ResolveDiscussions do
let(:project) { create(:project, :repository) }
let(:user) { create(:user) }
diff --git a/spec/services/issues/update_service_spec.rb b/spec/services/issues/update_service_spec.rb
index 33ae2682d01..77bd540e22f 100644
--- a/spec/services/issues/update_service_spec.rb
+++ b/spec/services/issues/update_service_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-describe Issues::UpdateService, :mailer do
+RSpec.describe Issues::UpdateService, :mailer do
let_it_be(:user) { create(:user) }
let_it_be(:user2) { create(:user) }
let_it_be(:user3) { create(:user) }
@@ -866,5 +866,10 @@ describe Issues::UpdateService, :mailer do
end
end
end
+
+ it_behaves_like 'issuable record that supports quick actions' do
+ let(:existing_issue) { create(:issue, project: project) }
+ let(:issuable) { described_class.new(project, user, params).execute(existing_issue) }
+ end
end
end
diff --git a/spec/services/issues/zoom_link_service_spec.rb b/spec/services/issues/zoom_link_service_spec.rb
index 3fb1eae361a..56aec4fe564 100644
--- a/spec/services/issues/zoom_link_service_spec.rb
+++ b/spec/services/issues/zoom_link_service_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-describe Issues::ZoomLinkService do
+RSpec.describe Issues::ZoomLinkService do
let_it_be(:user) { create(:user) }
let_it_be(:issue) { create(:issue) }