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>2019-09-24 00:06:29 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2019-09-24 00:06:29 +0300
commitb9254657872c4db441ab268154686f5476fb4bc6 (patch)
treeab045c623296a049d1246ba2d66800456a1077aa /spec/services/boards
parentc792263edfaf826c58f4aa41d26904464a17a3e7 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/services/boards')
-rw-r--r--spec/services/boards/lists/update_service_spec.rb66
1 files changed, 43 insertions, 23 deletions
diff --git a/spec/services/boards/lists/update_service_spec.rb b/spec/services/boards/lists/update_service_spec.rb
index f28bbab941a..a5411a2fb3a 100644
--- a/spec/services/boards/lists/update_service_spec.rb
+++ b/spec/services/boards/lists/update_service_spec.rb
@@ -10,9 +10,8 @@ describe Boards::Lists::UpdateService do
context 'when user can admin list' do
it 'calls Lists::MoveService to update list position' do
board.parent.add_developer(user)
- service = described_class.new(board.parent, user, position: 1)
- expect(Boards::Lists::MoveService).to receive(:new).with(board.parent, user, { position: 1 }).and_call_original
+ expect(Boards::Lists::MoveService).to receive(:new).with(board.parent, user, params).and_call_original
expect_any_instance_of(Boards::Lists::MoveService).to receive(:execute).with(list)
service.execute(list)
@@ -21,8 +20,6 @@ describe Boards::Lists::UpdateService do
context 'when user cannot admin list' do
it 'does not call Lists::MoveService to update list position' do
- service = described_class.new(board.parent, user, position: 1)
-
expect(Boards::Lists::MoveService).not_to receive(:new)
service.execute(list)
@@ -34,7 +31,6 @@ describe Boards::Lists::UpdateService do
context 'when user can read list' do
it 'updates list preference for user' do
board.parent.add_guest(user)
- service = described_class.new(board.parent, user, collapsed: true)
service.execute(list)
@@ -44,8 +40,6 @@ describe Boards::Lists::UpdateService do
context 'when user cannot read list' do
it 'does not update list preference for user' do
- service = described_class.new(board.parent, user, collapsed: true)
-
service.execute(list)
expect(list.preferences_for(user).collapsed).to be_nil
@@ -54,35 +48,61 @@ describe Boards::Lists::UpdateService do
end
describe '#execute' do
+ let(:service) { described_class.new(board.parent, user, params) }
+
context 'when position parameter is present' do
+ let(:params) { { position: 1 } }
+
context 'for projects' do
- it_behaves_like 'moving list' do
- let(:project) { create(:project, :private) }
- let(:board) { create(:board, project: project) }
- end
+ let(:project) { create(:project, :private) }
+ let(:board) { create(:board, project: project) }
+
+ it_behaves_like 'moving list'
end
context 'for groups' do
- it_behaves_like 'moving list' do
- let(:group) { create(:group, :private) }
- let(:board) { create(:board, group: group) }
- end
+ let(:group) { create(:group, :private) }
+ let(:board) { create(:board, group: group) }
+
+ it_behaves_like 'moving list'
end
end
context 'when collapsed parameter is present' do
+ let(:params) { { collapsed: true } }
+
context 'for projects' do
- it_behaves_like 'updating list preferences' do
- let(:project) { create(:project, :private) }
- let(:board) { create(:board, project: project) }
- end
+ let(:project) { create(:project, :private) }
+ let(:board) { create(:board, project: project) }
+
+ it_behaves_like 'updating list preferences'
end
context 'for groups' do
- it_behaves_like 'updating list preferences' do
- let(:group) { create(:group, :private) }
- let(:board) { create(:board, group: group) }
- end
+ let(:project) { create(:project, :private) }
+ let(:board) { create(:board, project: project) }
+
+ it_behaves_like 'updating list preferences'
+ end
+ end
+
+ context 'when position and collapsed are both present' do
+ let(:params) { { collapsed: true, position: 1 } }
+
+ context 'for projects' do
+ let(:project) { create(:project, :private) }
+ let(:board) { create(:board, project: project) }
+
+ it_behaves_like 'moving list'
+ it_behaves_like 'updating list preferences'
+ end
+
+ context 'for groups' do
+ let(:group) { create(:group, :private) }
+ let(:board) { create(:board, group: group) }
+
+ it_behaves_like 'moving list'
+ it_behaves_like 'updating list preferences'
end
end
end