diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-06-18 11:18:50 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-06-18 11:18:50 +0000 |
commit | 8c7f4e9d5f36cff46365a7f8c4b9c21578c1e781 (patch) | |
tree | a77e7fe7a93de11213032ed4ab1f33a3db51b738 /spec/services/issues | |
parent | 00b35af3db1abfe813a778f643dad221aad51fca (diff) | |
download | gitlab-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.rb | 23 | ||||
-rw-r--r-- | spec/services/issues/create_service_spec.rb | 2 | ||||
-rw-r--r-- | spec/services/issues/import_csv_service_spec.rb | 20 | ||||
-rw-r--r-- | spec/services/issues/update_service_spec.rb | 34 |
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 |