From c1e5a26afd7333ac25cbbde4a6011a07435b23ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Meny?= Date: Fri, 27 May 2022 15:05:08 +0100 Subject: [PATCH] Rewrite test for clarity --- .../case_logs_field_import_service_spec.rb | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/spec/services/imports/case_logs_field_import_service_spec.rb b/spec/services/imports/case_logs_field_import_service_spec.rb index 5166ebe31..c071b1ea7 100644 --- a/spec/services/imports/case_logs_field_import_service_spec.rb +++ b/spec/services/imports/case_logs_field_import_service_spec.rb @@ -44,6 +44,8 @@ RSpec.describe Imports::CaseLogsFieldImportService do end context "and the case log was previously imported" do + let(:case_log) { CaseLog.find_by(old_id: case_log_id) } + before do Imports::CaseLogsImportService.new(storage_service, logger).create_logs(fixture_directory) case_log_file.rewind @@ -51,24 +53,23 @@ RSpec.describe Imports::CaseLogsFieldImportService do it "logs that the tenant_code already has a value and does not update the case_log" do expect(logger).to receive(:info).with(/Case Log \d+ has a value for tenant_code, skipping update/) - - import_service.send(:update_field, field, remote_folder) - case_log = CaseLog.find_by(old_id: case_log_id) - expect(case_log.tenant_code).not_to eq(nil) + expect { import_service.send(:update_field, field, remote_folder) } + .not_to(change { case_log.reload.tenant_code }) end end context "and the case log was previously imported with empty fields" do + let(:case_log) { CaseLog.find_by(old_id: case_log_id) } + before do Imports::CaseLogsImportService.new(storage_service, logger).create_logs(fixture_directory) case_log_file.rewind - CaseLog.find_by(old_id: case_log_id).update_column("tenant_code", nil) + case_log.update!(tenant_code: nil) end it "updates the case_log" do - import_service.send(:update_field, field, remote_folder) - case_log = CaseLog.find_by(old_id: case_log_id) - expect(case_log.tenant_code).not_to eq(nil) + expect { import_service.send(:update_field, field, remote_folder) } + .to(change { case_log.reload.tenant_code }) end end end