Browse Source

Add minimal tests

pull/1709/head
Rachael Booth 3 years ago
parent
commit
47f02e6f9b
  1. 2
      app/services/imports/lettings_logs_field_import_service.rb
  2. 2
      spec/fixtures/imports/logs/0ead17cb-1668-442d-898c-0d52879ff592.xml
  3. 36
      spec/services/imports/lettings_logs_field_import_service_spec.rb

2
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"

2
spec/fixtures/imports/logs/0ead17cb-1668-442d-898c-0d52879ff592.xml vendored

@ -170,7 +170,7 @@
<Q18dyes override-field="true"/>
<Q19void>2021-09-30</Q19void>
<Q19repair/>
<Q20 override-field="">0</Q20>
<Q20 override-field="">21</Q20>
<Q21a>MCB003</Q21a>
</Group>
<Group>

36
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

Loading…
Cancel
Save