Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/services/issues/update_service_spec.rb')
-rw-r--r--spec/services/issues/update_service_spec.rb34
1 files changed, 15 insertions, 19 deletions
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