diff --git a/lib/tasks/merge_organisations.rake b/lib/tasks/merge_organisations.rake index 32e0369fa..0df38a2ac 100644 --- a/lib/tasks/merge_organisations.rake +++ b/lib/tasks/merge_organisations.rake @@ -2,7 +2,7 @@ namespace :merge do desc "Merge organisations into one" task :merge_organisations, %i[absorbing_organisation_id merging_organisation_ids] => :environment do |_task, args| absorbing_organisation_id = args[:absorbing_organisation_id] - merging_organisation_ids = args[:merging_organisation_ids] + merging_organisation_ids = args[:merging_organisation_ids]&.split(",")&.map(&:to_i) raise "Usage: rake merge:merge_organisations[absorbing_organisation_id, merging_organisation_ids]" if merging_organisation_ids.blank? || absorbing_organisation_id.blank? diff --git a/spec/lib/tasks/merge_organisations_spec.rb b/spec/lib/tasks/merge_organisations_spec.rb index 2c102e73a..efb3fe99d 100644 --- a/spec/lib/tasks/merge_organisations_spec.rb +++ b/spec/lib/tasks/merge_organisations_spec.rb @@ -28,13 +28,13 @@ RSpec.describe "emails" do end it "raises an error when only merging organisations are given" do - expect { task.invoke(nil, [1, 2]) }.to raise_error(RuntimeError, "Usage: rake merge:merge_organisations[absorbing_organisation_id, merging_organisation_ids]") + expect { task.invoke(nil, "1,2") }.to raise_error(RuntimeError, "Usage: rake merge:merge_organisations[absorbing_organisation_id, merging_organisation_ids]") end it "raises runs the service with correct organisation IDs" do expect(Merge::MergeOrganisationsService).to receive(:new).with(absorbing_organisation_id: 1, merging_organisation_ids: [2, 3]).once expect(merge_organisations_service).to receive(:call).once - task.invoke(1, [2, 3]) + task.invoke(1, "2,3") end end end