diff --git a/app/models/derived_variables/lettings_log_variables.rb b/app/models/derived_variables/lettings_log_variables.rb index ac17e0219..11d03bdcb 100644 --- a/app/models/derived_variables/lettings_log_variables.rb +++ b/app/models/derived_variables/lettings_log_variables.rb @@ -116,6 +116,7 @@ module DerivedVariables::LettingsLogVariables if uprn_confirmed&.zero? self.uprn = nil self.uprn_known = 0 + self.uprn_confirmed = nil end self.nationality_all = nationality_all_group if nationality_uk_or_prefers_not_to_say? diff --git a/app/models/derived_variables/sales_log_variables.rb b/app/models/derived_variables/sales_log_variables.rb index a4817a230..2e9d5434a 100644 --- a/app/models/derived_variables/sales_log_variables.rb +++ b/app/models/derived_variables/sales_log_variables.rb @@ -47,6 +47,7 @@ module DerivedVariables::SalesLogVariables if uprn_confirmed&.zero? self.uprn = nil self.uprn_known = 0 + self.uprn_confirmed = nil end self.nationality_all = nationality_all_group if nationality_uk_or_prefers_not_to_say? diff --git a/spec/shared/shared_examples_for_derived_fields.rb b/spec/shared/shared_examples_for_derived_fields.rb index 6382ef4f4..336cbf852 100644 --- a/spec/shared/shared_examples_for_derived_fields.rb +++ b/spec/shared/shared_examples_for_derived_fields.rb @@ -14,4 +14,14 @@ RSpec.shared_examples "shared examples for derived fields" do |log_type| expect { log.set_derived_fields! }.not_to change(log, :ethnic) end end + + context "when uprn is not confirmed" do + it "derives other uprn fields correctly" do + log = FactoryBot.build(log_type, uprn_known: 1, uprn: 1, uprn_confirmed: 0) + + expect { log.set_derived_fields! }.to change(log, :uprn_known).from(1).to(0) + .and change(log, :uprn).from("1").to(nil) + .and change(log, :uprn_confirmed).from(0).to(nil) + end + end end