diff --git a/app/models/derived_variables/sales_log_variables.rb b/app/models/derived_variables/sales_log_variables.rb index 3290a6d5a..492e0a6bc 100644 --- a/app/models/derived_variables/sales_log_variables.rb +++ b/app/models/derived_variables/sales_log_variables.rb @@ -40,6 +40,10 @@ module DerivedVariables::SalesLogVariables if saledate && form.start_year_after_2024? && discounted_ownership_sale? self.ppostcode_full = postcode_full + self.ppcodenk = 0 if postcode_full.present? + self.prevloc = la + self.is_previous_la_inferred = is_la_inferred + self.previous_la_known = la_known end set_encoded_derived_values!(DEPENDENCIES) diff --git a/spec/models/sales_log_spec.rb b/spec/models/sales_log_spec.rb index 5c19ee1d0..00792b0bd 100644 --- a/spec/models/sales_log_spec.rb +++ b/spec/models/sales_log_spec.rb @@ -704,11 +704,12 @@ RSpec.describe SalesLog, type: :model do expect(record_from_db["la"]).to eq("E06000064") end - it "does not set previous postcode for discounted sale" do - address_sales_log_23_24.update!(ownershipsch: 2, ppostcode_full: nil) + it "does not set previous postcode or previous la for discounted sale" do + address_sales_log_23_24.update!(ownershipsch: 2, ppostcode_full: nil, prevloc: nil) record_from_db = described_class.find(address_sales_log_23_24.id) expect(address_sales_log_23_24.ppostcode_full).to eq(nil) expect(record_from_db["ppostcode_full"]).to eq(nil) + expect(record_from_db["prevloc"]).to eq(nil) end end @@ -719,6 +720,8 @@ RSpec.describe SalesLog, type: :model do created_by: created_by_user, ppcodenk: 1, postcode_full: "CA10 1AA", + ppostcode_full: nil, + prevloc: nil, saledate: Time.zone.local(2024, 5, 2), }) end @@ -740,6 +743,7 @@ RSpec.describe SalesLog, type: :model do record_from_db = described_class.find(address_sales_log_24_25.id) expect(address_sales_log_24_25.ppostcode_full).to eq("CA10 1AA") expect(record_from_db["ppostcode_full"]).to eq("CA10 1AA") + expect(record_from_db["prevloc"]).to eq("E06000064") end it "does not set previous postcode for non discounted sale" do @@ -747,6 +751,7 @@ RSpec.describe SalesLog, type: :model do record_from_db = described_class.find(address_sales_log_24_25.id) expect(address_sales_log_24_25.ppostcode_full).to eq(nil) expect(record_from_db["ppostcode_full"]).to eq(nil) + expect(record_from_db["prevloc"]).to eq(nil) end end