diff --git a/app/services/issues/bulk_update_service.rb b/app/services/issues/bulk_update_service.rb index 2772add1d022782371ac94b540961851b5c66335..15825b81685b4eb925fdf0a8cb7292ace591850d 100644 --- a/app/services/issues/bulk_update_service.rb +++ b/app/services/issues/bulk_update_service.rb @@ -4,7 +4,7 @@ module Issues issues_ids = params.delete(:issues_ids).split(",") issue_params = params - [:state_event, :milestone_id, :assignee_id, :label_ids, :add_label_ids, :remove_label_ids].each do |key| + %i(state_event milestone_id assignee_id add_label_ids remove_label_ids).each do |key| issue_params.delete(key) unless issue_params[key].present? end diff --git a/spec/services/issues/bulk_update_service_spec.rb b/spec/services/issues/bulk_update_service_spec.rb index c777d475dd4135217421903bdddbcbf386ebf26a..ad19fe0f1514a19a114e7622cf1feee5a790408c 100644 --- a/spec/services/issues/bulk_update_service_spec.rb +++ b/spec/services/issues/bulk_update_service_spec.rb @@ -148,6 +148,14 @@ describe Issues::BulkUpdateService, services: true do it 'does not update issues not passed in' do expect(issue_bug_and_regression.label_ids).to contain_exactly(bug.id, regression.id) end + + context 'when those label IDs are empty' do + let(:labels) { [] } + + it 'updates the issues passed to have no labels' do + expect(issues.map(&:reload).map(&:label_ids)).to all(be_empty) + end + end end context 'when add_label_ids are passed' do