diff --git a/app/services/imports/user_import_service.rb b/app/services/imports/user_import_service.rb index 32250b1b9..0c32b582f 100644 --- a/app/services/imports/user_import_service.rb +++ b/app/services/imports/user_import_service.rb @@ -14,15 +14,15 @@ module Imports organisation = Organisation.find_by(old_org_id: user_field_value(xml_document, "institution")) old_user_id = user_field_value(xml_document, "id") name = user_field_value(xml_document, "full-name") - if User.find_by(old_user_id: old_user_id, organisation: organisation) + if User.find_by(old_user_id:, organisation:) @logger.warn("User #{name} with old user id #{old_user_id} is already present, skipping.") else User.create!( email: user_field_value(xml_document, "user-name"), - name: name, + name:, password: Devise.friendly_token, phone: user_field_value(xml_document, "telephone-no"), - old_user_id: old_user_id, + old_user_id:, organisation:, role: PROVIDER_TYPE[user_field_value(xml_document, "user-type")], ) diff --git a/spec/services/imports/user_import_service_spec.rb b/spec/services/imports/user_import_service_spec.rb index 4aefc4e2b..8401d7149 100644 --- a/spec/services/imports/user_import_service_spec.rb +++ b/spec/services/imports/user_import_service_spec.rb @@ -9,6 +9,7 @@ RSpec.describe Imports::UserImportService do context "when importing users" do subject(:import_service) { described_class.new(storage_service) } + before do allow(storage_service).to receive(:list_files) .and_return(["user_directory/#{old_user_id}.xml"]) @@ -18,10 +19,10 @@ RSpec.describe Imports::UserImportService do end it "successfully create a user with the expected data" do - FactoryBot.create(:organisation, old_org_id: old_org_id) + FactoryBot.create(:organisation, old_org_id:) import_service.create_users("user_directory") - user = User.find_by(old_user_id: old_user_id) + user = User.find_by(old_user_id:) expect(user.name).to eq("John Doe") expect(user.email).to eq("john.doe@gov.uk") expect(user.encrypted_password).not_to be_nil @@ -36,11 +37,9 @@ RSpec.describe Imports::UserImportService do end context "when the user has already been imported previously" do - let!(:org) { FactoryBot.create(:organisation, old_org_id: old_org_id) } - let!(:user) do - FactoryBot.create( - :user, old_user_id: old_user_id, organisation: org - ) + before do + org = FactoryBot.create(:organisation, old_org_id:) + FactoryBot.create(:user, old_user_id:, organisation: org) end it "logs that the user already exists" do