diff options
author | Valery Sizov <valery@gitlab.com> | 2017-02-27 17:45:55 +0200 |
---|---|---|
committer | Valery Sizov <valery@gitlab.com> | 2017-02-28 16:52:49 +0200 |
commit | 800f2a722f2aac42aee85fde44311b201eaa9589 (patch) | |
tree | 177a88e733948b761a03c8c456586f2442b97d09 /spec/services | |
parent | c401088bc7a1e560023b7eb6ebfffb65d51c641c (diff) | |
download | gitlab-ce-800f2a722f2aac42aee85fde44311b201eaa9589.tar.gz |
[Issue board sorting] Specs
Diffstat (limited to 'spec/services')
-rw-r--r-- | spec/services/boards/issues/move_service_spec.rb | 12 | ||||
-rw-r--r-- | spec/services/issues/update_service_spec.rb | 16 |
2 files changed, 28 insertions, 0 deletions
diff --git a/spec/services/boards/issues/move_service_spec.rb b/spec/services/boards/issues/move_service_spec.rb index 77f75167b3d..5b71762e2b3 100644 --- a/spec/services/boards/issues/move_service_spec.rb +++ b/spec/services/boards/issues/move_service_spec.rb @@ -79,6 +79,8 @@ describe Boards::Issues::MoveService, services: true do context 'when moving to same list' do let(:issue) { create(:labeled_issue, project: project, labels: [bug, development]) } + let(:issue1) { create(:labeled_issue, project: project, labels: [bug, development]) } + let(:issue2) { create(:labeled_issue, project: project, labels: [bug, development]) } let(:params) { { board_id: board1.id, from_list_id: list1.id, to_list_id: list1.id } } it 'returns false' do @@ -90,6 +92,16 @@ describe Boards::Issues::MoveService, services: true do expect(issue.reload.labels).to contain_exactly(bug, development) end + + it 'sorts issues' do + issue.move_between(issue1, issue2) + + params.merge! move_after_iid: issue1.iid, move_before_iid: issue2.iid + + described_class.new(project, user, params).execute(issue1) + + expect(issue1.relative_position).to be_between(issue.relative_position, issue2.relative_position) + end end end end diff --git a/spec/services/issues/update_service_spec.rb b/spec/services/issues/update_service_spec.rb index d83b09fd32c..f552252da48 100644 --- a/spec/services/issues/update_service_spec.rb +++ b/spec/services/issues/update_service_spec.rb @@ -58,6 +58,22 @@ describe Issues::UpdateService, services: true do expect(issue.due_date).to eq Date.tomorrow end + it 'sorts issues as specified by parameters' do + issue1 = create :issue, project: project, assignee_id: user3.id + issue2 = create :issue, project: project, assignee_id: user3.id + + [issue, issue1, issue2].each do |issue| + issue.move_to_end + issue.save + end + + opts.merge! move_between_iids: [issue1.iid, issue2.iid] + + update_issue(opts) + + expect(issue.relative_position).to be_between(issue1.relative_position, issue2.relative_position) + end + context 'when current user cannot admin issues in the project' do let(:guest) { create(:user) } before do |