diff options
author | Patrick Derichs <pderichs@gitlab.com> | 2019-07-05 13:50:20 +0300 |
---|---|---|
committer | Patrick Derichs <pderichs@gitlab.com> | 2019-07-16 17:18:16 +0300 |
commit | 1ebef4aae55adb5e17a76b92aea74467e49130bf (patch) | |
tree | b39ccf8b45017903a4bad4438cad3518e6c41c0e /spec | |
parent | 46fb73a372621918fae77c0d338d9a42a13071fd (diff) |
Add result to MoveService#execute_multiple
It adds a hash response which includes
the count, success state and the moved
issues itself so the caller has additional
information about the result of the
process.
Diffstat (limited to 'spec')
-rw-r--r-- | spec/controllers/boards/issues_controller_spec.rb | 13 | ||||
-rw-r--r-- | spec/services/boards/issues/move_service_spec.rb | 4 |
2 files changed, 13 insertions, 4 deletions
diff --git a/spec/controllers/boards/issues_controller_spec.rb b/spec/controllers/boards/issues_controller_spec.rb index 246d6f9e0f9..f8a25d814ed 100644 --- a/spec/controllers/boards/issues_controller_spec.rb +++ b/spec/controllers/boards/issues_controller_spec.rb @@ -160,7 +160,7 @@ describe Boards::IssuesController do end end - describe 'PUT move_multiple' do + describe 'PUT bulk_move' do let(:todo) { create(:group_label, group: group, name: 'Todo') } let(:development) { create(:group_label, group: group, name: 'Development') } let(:user) { create(:group_member, :maintainer, user: create(:user), group: group ).user } @@ -200,12 +200,21 @@ describe Boards::IssuesController do put :bulk_move, params: move_issues_params expect(response).to have_gitlab_http_status(expected_status) + if expected_status == 200 + expect(json_response).to include( + 'count' => move_issues_params[:ids].size, + 'success' => true + ) + + expect(json_response['issues'].pluck('id')).to include(*move_issues_params[:ids]) + end + list_issues user: requesting_user, board: board, list: list2 expect(response).to have_gitlab_http_status(200) expect(response).to match_response_schema('entities/issue_boards') - responded_issues = json_response['issues'] + responded_issues = JSON.parse(response.body)['issues'] expect(responded_issues.length).to eq expected_issue_count ids_in_order = responded_issues.pluck('id') diff --git a/spec/services/boards/issues/move_service_spec.rb b/spec/services/boards/issues/move_service_spec.rb index 1bfb5602df2..cf84ec8fd4c 100644 --- a/spec/services/boards/issues/move_service_spec.rb +++ b/spec/services/boards/issues/move_service_spec.rb @@ -68,8 +68,8 @@ describe Boards::Issues::MoveService do project.add_developer(user) end - it 'returns false if list of issues is empty' do - expect(described_class.new(group, user, params).execute_multiple([])).to eq(false) + it 'returns the expected result if list of issues is empty' do + expect(described_class.new(group, user, params).execute_multiple([])).to eq({ count: 0, success: false, issues: [] }) end context 'moving multiple issues' do |