diff --git a/app/services/imports/lettings_logs_field_import_service.rb b/app/services/imports/lettings_logs_field_import_service.rb index 82e359423..4de3063ad 100644 --- a/app/services/imports/lettings_logs_field_import_service.rb +++ b/app/services/imports/lettings_logs_field_import_service.rb @@ -309,6 +309,8 @@ module Imports record = LettingsLog.find_by(old_id:) return @logger.warn("lettings log with old id #{old_id} not found") unless record + return @logger.info("lettings log #{record.id} has no hhmemb, skipping update") unless record.hhmemb + if (2..record.hhmemb).all? { |person_index| record.has_any_person_details?(person_index) || record["details_known_#{person_index}"] == 1 } return @logger.info("lettings log #{record.id} has all household member details, skipping update") end diff --git a/spec/services/imports/lettings_logs_field_import_service_spec.rb b/spec/services/imports/lettings_logs_field_import_service_spec.rb index ae0b610a4..c696cd63c 100644 --- a/spec/services/imports/lettings_logs_field_import_service_spec.rb +++ b/spec/services/imports/lettings_logs_field_import_service_spec.rb @@ -1337,5 +1337,20 @@ RSpec.describe Imports::LettingsLogsFieldImportService do expect(lettings_log.values_updated_at).to be_nil end end + + context "when the record has no hhmemb" do + let(:lettings_log) { LettingsLog.find_by(old_id: lettings_log_id) } + + before do + lettings_log.update!(hhmemb: nil) + end + + it "does not update the lettings_log person details" do + expect(logger).to receive(:info).with(/lettings log \d+ has no hhmemb, skipping update/) + import_service.send(:update_person_details, lettings_log_xml) + lettings_log.reload + expect(lettings_log.values_updated_at).to be_nil + end + end end end