From 2e69fcb52ff40adff6adbfb675ee26728d6c45ca Mon Sep 17 00:00:00 2001 From: Kat Date: Tue, 10 Oct 2023 12:54:07 +0100 Subject: [PATCH] Reinfer LA if the postcode hasn't changed --- lib/tasks/import_address_from_csv.rake | 2 ++ .../tasks/correct_address_from_csv_spec.rb | 36 +++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/lib/tasks/import_address_from_csv.rake b/lib/tasks/import_address_from_csv.rake index e30892e8b..57496a56c 100644 --- a/lib/tasks/import_address_from_csv.rake +++ b/lib/tasks/import_address_from_csv.rake @@ -50,6 +50,7 @@ namespace :data_import do lettings_log.postcode_known = lettings_log.postcode_full.present? ? 1 : nil lettings_log.is_la_inferred = nil lettings_log.la = nil + lettings_log.send("process_postcode_changes!") lettings_log.values_updated_at = Time.zone.now lettings_log.save! @@ -108,6 +109,7 @@ namespace :data_import do sales_log.pcodenk = sales_log.postcode_full.present? ? 0 : nil sales_log.is_la_inferred = nil sales_log.la = nil + sales_log.send("process_postcode_changes!") sales_log.values_updated_at = Time.zone.now sales_log.save! diff --git a/spec/lib/tasks/correct_address_from_csv_spec.rb b/spec/lib/tasks/correct_address_from_csv_spec.rb index 4924b3a25..294ce535b 100644 --- a/spec/lib/tasks/correct_address_from_csv_spec.rb +++ b/spec/lib/tasks/correct_address_from_csv_spec.rb @@ -161,6 +161,15 @@ RSpec.describe "data_import" do expect(lettings_logs[2].la).to eq("E06000064") end + it "reinfers the LA if the postcode doesn't change" do + lettings_log.update!(postcode_full: "B1 1BB") + task.invoke(addresses_csv_path) + lettings_log.reload + expect(lettings_log.postcode_full).to eq("B1 1BB") + expect(lettings_log.la).to eq("E08000035") + expect(lettings_log.is_la_inferred).to eq(true) + end + it "logs the progress of the update" do expect(Rails.logger).to receive(:info).with("Updated lettings log #{lettings_log.id}, with address: address 1, address 2, town, county, B1 1BB") expect(Rails.logger).to receive(:info).with("Updated lettings log #{lettings_logs[0].id}, with address: address 3, , city, , B1 1BB") @@ -240,6 +249,15 @@ RSpec.describe "data_import" do expect(lettings_logs[2].la).to eq("E06000064") end + it "reinfers the LA if the postcode hasn't changed" do + lettings_log.update!(postcode_full: "B1 1BB") + task.invoke(all_addresses_csv_path) + lettings_log.reload + expect(lettings_log.postcode_full).to eq("B1 1BB") + expect(lettings_log.la).to eq("E08000035") + expect(lettings_log.is_la_inferred).to eq(true) + end + it "logs the progress of the update" do expect(Rails.logger).to receive(:info).with("Updated lettings log #{lettings_log.id}, with address: address 1, address 2, town, county, B1 1BB") expect(Rails.logger).to receive(:info).with("Updated lettings log #{lettings_logs[0].id}, with address: address 3, , city, , B1 1BB") @@ -364,6 +382,15 @@ RSpec.describe "data_import" do expect(sales_logs[2].la).to eq("E06000064") end + it "reinfers the LA if the postcode hasn't changed" do + sales_log.update!(postcode_full: "B1 1BB") + task.invoke(addresses_csv_path) + sales_log.reload + expect(sales_log.postcode_full).to eq("B1 1BB") + expect(sales_log.la).to eq("E08000035") + expect(sales_log.is_la_inferred).to eq(true) + end + it "logs the progress of the update" do expect(Rails.logger).to receive(:info).with("Updated sales log #{sales_log.id}, with address: address 1, address 2, town, county, B1 1BB") expect(Rails.logger).to receive(:info).with("Updated sales log #{sales_logs[0].id}, with address: address 3, , city, , B1 1BB") @@ -443,6 +470,15 @@ RSpec.describe "data_import" do expect(sales_logs[2].la).to eq("E06000064") end + it "reinfers the LA if the postcode hasn't changed" do + sales_log.update!(postcode_full: "B1 1BB") + task.invoke(all_addresses_csv_path) + sales_log.reload + expect(sales_log.postcode_full).to eq("B1 1BB") + expect(sales_log.la).to eq("E08000035") + expect(sales_log.is_la_inferred).to eq(true) + end + it "logs the progress of the update" do expect(Rails.logger).to receive(:info).with("Updated sales log #{sales_log.id}, with address: address 1, address 2, town, county, B1 1BB") expect(Rails.logger).to receive(:info).with("Updated sales log #{sales_logs[0].id}, with address: address 3, , city, , B1 1BB")