From 47f02e6f9b24032b11865270f0095a38c319c0ed Mon Sep 17 00:00:00 2001 From: Rachael Booth Date: Mon, 19 Jun 2023 18:43:18 +0100 Subject: [PATCH] Add minimal tests --- .../lettings_logs_field_import_service.rb | 2 +- .../0ead17cb-1668-442d-898c-0d52879ff592.xml | 2 +- ...lettings_logs_field_import_service_spec.rb | 36 +++++++++++++++++++ 3 files changed, 38 insertions(+), 2 deletions(-) diff --git a/app/services/imports/lettings_logs_field_import_service.rb b/app/services/imports/lettings_logs_field_import_service.rb index 694eb943d..8e33da0c2 100644 --- a/app/services/imports/lettings_logs_field_import_service.rb +++ b/app/services/imports/lettings_logs_field_import_service.rb @@ -1,5 +1,5 @@ module Imports - class LettingsLogsFieldImportService < ImportService + class LettingsLogsFieldImportService < LogsImportService def update_field(field, folder) case field when "tenancycode" diff --git a/spec/fixtures/imports/logs/0ead17cb-1668-442d-898c-0d52879ff592.xml b/spec/fixtures/imports/logs/0ead17cb-1668-442d-898c-0d52879ff592.xml index 15f97ce5b..87797e242 100644 --- a/spec/fixtures/imports/logs/0ead17cb-1668-442d-898c-0d52879ff592.xml +++ b/spec/fixtures/imports/logs/0ead17cb-1668-442d-898c-0d52879ff592.xml @@ -170,7 +170,7 @@ 2021-09-30 - 0 + 21 MCB003 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 0c55139e8..3cd4e930d 100644 --- a/spec/services/imports/lettings_logs_field_import_service_spec.rb +++ b/spec/services/imports/lettings_logs_field_import_service_spec.rb @@ -249,4 +249,40 @@ RSpec.describe Imports::LettingsLogsFieldImportService do end end end + + context "when updating offered" do + let(:field) { "offered" } + + context "when the lettings log has no offered value" do + let(:lettings_log) { LettingsLog.find_by(old_id: lettings_log_id) } + + before do + Imports::LettingsLogsImportService.new(storage_service, logger).create_logs(fixture_directory) + lettings_log_file.rewind + lettings_log.update!(offered: nil) + end + + it "updates the lettings_log offered value" do + expect(logger).to receive(:info).with(/lettings log \d+'s offered value has been set to 21/) + expect { import_service.send(:update_field, field, remote_folder) } + .to(change { lettings_log.reload.offered }.from(nil).to(21)) + end + end + + context "when the lettings log has a different offered value" do + let(:lettings_log) { LettingsLog.find_by(old_id: lettings_log_id) } + + before do + Imports::LettingsLogsImportService.new(storage_service, logger).create_logs(fixture_directory) + lettings_log_file.rewind + lettings_log.update!(offered: 18) + end + + it "does not update the lettings_log offered value" do + expect(logger).to receive(:info).with(/lettings log \d+ has a value for offered, skipping update/) + expect { import_service.send(:update_field, field, remote_folder) } + .not_to(change { lettings_log.reload.offered }) + end + end + end end