summaryrefslogtreecommitdiff
path: root/spec/services/issues
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-06-18 11:18:50 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-06-18 11:18:50 +0000
commit8c7f4e9d5f36cff46365a7f8c4b9c21578c1e781 (patch)
treea77e7fe7a93de11213032ed4ab1f33a3db51b738 /spec/services/issues
parent00b35af3db1abfe813a778f643dad221aad51fca (diff)
downloadgitlab-ce-8c7f4e9d5f36cff46365a7f8c4b9c21578c1e781.tar.gz
Add latest changes from gitlab-org/gitlab@13-1-stable-ee
Diffstat (limited to 'spec/services/issues')
-rw-r--r--spec/services/issues/close_service_spec.rb23
-rw-r--r--spec/services/issues/create_service_spec.rb2
-rw-r--r--spec/services/issues/import_csv_service_spec.rb20
-rw-r--r--spec/services/issues/update_service_spec.rb34
4 files changed, 40 insertions, 39 deletions
diff --git a/spec/services/issues/close_service_spec.rb b/spec/services/issues/close_service_spec.rb
index 6fc1928d47b..78eba565de4 100644
--- a/spec/services/issues/close_service_spec.rb
+++ b/spec/services/issues/close_service_spec.rb
@@ -224,11 +224,26 @@ describe Issues::CloseService do
expect(email.subject).to include(issue.title)
end
- it 'creates system note about issue reassign' do
- close_issue
+ context 'when resource state events are disabled' do
+ before do
+ stub_feature_flags(track_resource_state_change_events: false)
+ end
+
+ it 'creates system note about the issue being closed' do
+ close_issue
+
+ note = issue.notes.last
+ expect(note.note).to include "closed"
+ end
+ end
- note = issue.notes.last
- expect(note.note).to include "closed"
+ context 'when resource state events are enabled' do
+ it 'creates resource state event about the issue being closed' do
+ close_issue
+
+ event = issue.resource_state_events.last
+ expect(event.state).to eq('closed')
+ end
end
it 'marks todos as done' do
diff --git a/spec/services/issues/create_service_spec.rb b/spec/services/issues/create_service_spec.rb
index 7a251e03e51..bb02941576a 100644
--- a/spec/services/issues/create_service_spec.rb
+++ b/spec/services/issues/create_service_spec.rb
@@ -458,7 +458,7 @@ describe Issues::CreateService do
context 'when SpamVerdictService requires reCAPTCHA' do
before do
expect_next_instance_of(Spam::SpamVerdictService) do |verdict_service|
- expect(verdict_service).to receive(:execute).and_return(REQUIRE_RECAPTCHA)
+ expect(verdict_service).to receive(:execute).and_return(CONDITIONAL_ALLOW)
end
end
diff --git a/spec/services/issues/import_csv_service_spec.rb b/spec/services/issues/import_csv_service_spec.rb
index aa43892a36d..92b88489af9 100644
--- a/spec/services/issues/import_csv_service_spec.rb
+++ b/spec/services/issues/import_csv_service_spec.rb
@@ -18,9 +18,7 @@ describe Issues::ImportCsvService do
let(:file) { fixture_file_upload('spec/fixtures/banana_sample.gif') }
it 'returns invalid file error' do
- expect_next_instance_of(Notify) do |instance|
- expect(instance).to receive(:import_issues_csv_email)
- end
+ expect(Notify).to receive_message_chain(:import_issues_csv_email, :deliver_later)
expect(subject[:success]).to eq(0)
expect(subject[:parse_error]).to eq(true)
@@ -31,9 +29,7 @@ describe Issues::ImportCsvService do
let(:file) { fixture_file_upload('spec/fixtures/csv_gitlab_export.csv') }
it 'imports the CSV without errors' do
- expect_next_instance_of(Notify) do |instance|
- expect(instance).to receive(:import_issues_csv_email)
- end
+ expect(Notify).to receive_message_chain(:import_issues_csv_email, :deliver_later)
expect(subject[:success]).to eq(4)
expect(subject[:error_lines]).to eq([])
@@ -54,9 +50,7 @@ describe Issues::ImportCsvService do
let(:file) { fixture_file_upload('spec/fixtures/csv_comma.csv') }
it 'imports CSV without errors' do
- expect_next_instance_of(Notify) do |instance|
- expect(instance).to receive(:import_issues_csv_email)
- end
+ expect(Notify).to receive_message_chain(:import_issues_csv_email, :deliver_later)
expect(subject[:success]).to eq(3)
expect(subject[:error_lines]).to eq([])
@@ -77,9 +71,7 @@ describe Issues::ImportCsvService do
let(:file) { fixture_file_upload('spec/fixtures/csv_tab.csv') }
it 'imports CSV with some error rows' do
- expect_next_instance_of(Notify) do |instance|
- expect(instance).to receive(:import_issues_csv_email)
- end
+ expect(Notify).to receive_message_chain(:import_issues_csv_email, :deliver_later)
expect(subject[:success]).to eq(2)
expect(subject[:error_lines]).to eq([3])
@@ -100,9 +92,7 @@ describe Issues::ImportCsvService do
let(:file) { fixture_file_upload('spec/fixtures/csv_semicolon.csv') }
it 'imports CSV with a blank row' do
- expect_next_instance_of(Notify) do |instance|
- expect(instance).to receive(:import_issues_csv_email)
- end
+ expect(Notify).to receive_message_chain(:import_issues_csv_email, :deliver_later)
expect(subject[:success]).to eq(3)
expect(subject[:error_lines]).to eq([4])
diff --git a/spec/services/issues/update_service_spec.rb b/spec/services/issues/update_service_spec.rb
index 80039049bc3..33ae2682d01 100644
--- a/spec/services/issues/update_service_spec.rb
+++ b/spec/services/issues/update_service_spec.rb
@@ -3,13 +3,13 @@
require 'spec_helper'
describe Issues::UpdateService, :mailer do
- let(:user) { create(:user) }
- let(:user2) { create(:user) }
- let(:user3) { create(:user) }
- let(:group) { create(:group, :public) }
- let(:project) { create(:project, :repository, group: group) }
- let(:label) { create(:label, project: project) }
- let(:label2) { create(:label) }
+ let_it_be(:user) { create(:user) }
+ let_it_be(:user2) { create(:user) }
+ let_it_be(:user3) { create(:user) }
+ let_it_be(:group) { create(:group, :public) }
+ let_it_be(:project, reload: true) { create(:project, :repository, group: group) }
+ let_it_be(:label) { create(:label, project: project) }
+ let_it_be(:label2) { create(:label, project: project) }
let(:issue) do
create(:issue, title: 'Old title',
@@ -19,7 +19,7 @@ describe Issues::UpdateService, :mailer do
author: create(:user))
end
- before do
+ before_all do
project.add_maintainer(user)
project.add_developer(user2)
project.add_developer(user3)
@@ -669,28 +669,24 @@ describe Issues::UpdateService, :mailer do
context 'when add_label_ids and label_ids are passed' do
let(:params) { { label_ids: [label.id], add_label_ids: [label3.id] } }
- it 'ignores the label_ids parameter' do
- expect(result.label_ids).not_to include(label.id)
+ before do
+ issue.update(labels: [label2])
end
- it 'adds the passed labels' do
- expect(result.label_ids).to include(label3.id)
+ it 'replaces the labels with the ones in label_ids and adds those in add_label_ids' do
+ expect(result.label_ids).to contain_exactly(label.id, label3.id)
end
end
context 'when remove_label_ids and label_ids are passed' do
- let(:params) { { label_ids: [], remove_label_ids: [label.id] } }
+ let(:params) { { label_ids: [label.id, label2.id, label3.id], remove_label_ids: [label.id] } }
before do
issue.update(labels: [label, label3])
end
- it 'ignores the label_ids parameter' do
- expect(result.label_ids).not_to be_empty
- end
-
- it 'removes the passed labels' do
- expect(result.label_ids).not_to include(label.id)
+ it 'replaces the labels with the ones in label_ids and removes those in remove_label_ids' do
+ expect(result.label_ids).to contain_exactly(label2.id, label3.id)
end
end