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:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-03-16 21:18:33 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-03-16 21:18:33 +0300
commitf64a639bcfa1fc2bc89ca7db268f594306edfd7c (patch)
treea2c3c2ebcc3b45e596949db485d6ed18ffaacfa1 /spec/services/issuable
parentbfbc3e0d6583ea1a91f627528bedc3d65ba4b10f (diff)
Add latest changes from gitlab-org/gitlab@13-10-stable-eev13.10.0-rc40
Diffstat (limited to 'spec/services/issuable')
-rw-r--r--spec/services/issuable/bulk_update_service_spec.rb45
-rw-r--r--spec/services/issuable/process_assignees_spec.rb71
2 files changed, 71 insertions, 45 deletions
diff --git a/spec/services/issuable/bulk_update_service_spec.rb b/spec/services/issuable/bulk_update_service_spec.rb
index 79543fe9f5d..c749f282cd3 100644
--- a/spec/services/issuable/bulk_update_service_spec.rb
+++ b/spec/services/issuable/bulk_update_service_spec.rb
@@ -31,23 +31,6 @@ RSpec.describe Issuable::BulkUpdateService do
end
end
- shared_examples 'updates iterations' do
- it 'succeeds' do
- result = bulk_update(issuables, sprint_id: iteration.id)
-
- expect(result.success?).to be_truthy
- expect(result.payload[:count]).to eq(issuables.count)
- end
-
- it 'updates the issuables iteration' do
- bulk_update(issuables, sprint_id: iteration.id)
-
- issuables.each do |issuable|
- expect(issuable.reload.iteration).to eq(iteration)
- end
- end
- end
-
shared_examples 'updating labels' do
def create_issue_with_labels(labels)
create(:labeled_issue, project: project, labels: labels)
@@ -250,21 +233,6 @@ RSpec.describe Issuable::BulkUpdateService do
it_behaves_like 'updates milestones'
end
- describe 'updating iterations' do
- let_it_be(:group) { create(:group) }
- let_it_be(:project) { create(:project, group: group) }
- let_it_be(:issuables) { [create(:issue, project: project)] }
- let_it_be(:iteration) { create(:iteration, group: group) }
-
- let(:parent) { project }
-
- before do
- group.add_reporter(user)
- end
-
- it_behaves_like 'updates iterations'
- end
-
describe 'updating labels' do
let(:bug) { create(:label, project: project) }
let(:regression) { create(:label, project: project) }
@@ -347,19 +315,6 @@ RSpec.describe Issuable::BulkUpdateService do
end
end
- describe 'updating iterations' do
- let_it_be(:iteration) { create(:iteration, group: group) }
- let_it_be(:project) { create(:project, :repository, group: group) }
-
- context 'when issues' do
- let_it_be(:issue1) { create(:issue, project: project) }
- let_it_be(:issue2) { create(:issue, project: project) }
- let_it_be(:issuables) { [issue1, issue2] }
-
- it_behaves_like 'updates iterations'
- end
- end
-
describe 'updating labels' do
let(:project) { create(:project, :repository, group: group) }
let(:bug) { create(:group_label, group: group) }
diff --git a/spec/services/issuable/process_assignees_spec.rb b/spec/services/issuable/process_assignees_spec.rb
new file mode 100644
index 00000000000..876c84957cc
--- /dev/null
+++ b/spec/services/issuable/process_assignees_spec.rb
@@ -0,0 +1,71 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+RSpec.describe Issuable::ProcessAssignees do
+ describe '#execute' do
+ it 'returns assignee_ids when assignee_ids are specified' do
+ process = Issuable::ProcessAssignees.new(assignee_ids: %w(5 7 9),
+ add_assignee_ids: %w(2 4 6),
+ remove_assignee_ids: %w(4 7 11),
+ existing_assignee_ids: %w(1 3 9),
+ extra_assignee_ids: %w(2 5 12))
+ result = process.execute
+
+ expect(result.sort).to eq(%w(5 7 9).sort)
+ end
+
+ it 'combines other ids when assignee_ids is empty' do
+ process = Issuable::ProcessAssignees.new(assignee_ids: [],
+ add_assignee_ids: %w(2 4 6),
+ remove_assignee_ids: %w(4 7 11),
+ existing_assignee_ids: %w(1 3 11),
+ extra_assignee_ids: %w(2 5 12))
+ result = process.execute
+
+ expect(result.sort).to eq(%w(1 2 3 5 6 12).sort)
+ end
+
+ it 'combines other ids when assignee_ids is nil' do
+ process = Issuable::ProcessAssignees.new(assignee_ids: nil,
+ add_assignee_ids: %w(2 4 6),
+ remove_assignee_ids: %w(4 7 11),
+ existing_assignee_ids: %w(1 3 11),
+ extra_assignee_ids: %w(2 5 12))
+ result = process.execute
+
+ expect(result.sort).to eq(%w(1 2 3 5 6 12).sort)
+ end
+
+ it 'combines other ids when assignee_ids and add_assignee_ids are nil' do
+ process = Issuable::ProcessAssignees.new(assignee_ids: nil,
+ add_assignee_ids: nil,
+ remove_assignee_ids: %w(4 7 11),
+ existing_assignee_ids: %w(1 3 11),
+ extra_assignee_ids: %w(2 5 12))
+ result = process.execute
+
+ expect(result.sort).to eq(%w(1 2 3 5 12).sort)
+ end
+
+ it 'combines other ids when assignee_ids and remove_assignee_ids are nil' do
+ process = Issuable::ProcessAssignees.new(assignee_ids: nil,
+ add_assignee_ids: %w(2 4 6),
+ remove_assignee_ids: nil,
+ existing_assignee_ids: %w(1 3 11),
+ extra_assignee_ids: %w(2 5 12))
+ result = process.execute
+
+ expect(result.sort).to eq(%w(1 2 4 3 5 6 11 12).sort)
+ end
+
+ it 'combines ids when only add_assignee_ids and remove_assignee_ids are passed' do
+ process = Issuable::ProcessAssignees.new(assignee_ids: nil,
+ add_assignee_ids: %w(2 4 6),
+ remove_assignee_ids: %w(4 7 11))
+ result = process.execute
+
+ expect(result.sort).to eq(%w(2 6).sort)
+ end
+ end
+end