diff --git a/app/models/derived_variables/lettings_log_variables.rb b/app/models/derived_variables/lettings_log_variables.rb index 544230464..036d1ed3d 100644 --- a/app/models/derived_variables/lettings_log_variables.rb +++ b/app/models/derived_variables/lettings_log_variables.rb @@ -95,7 +95,7 @@ module DerivedVariables::LettingsLogVariables set_housingneeds_fields if housingneeds? - self.uprn_known = 0 if address_answered? + self.uprn_known = 0 if address_answered_without_uprn? if uprn_known&.zero? self.uprn = nil @@ -312,8 +312,8 @@ private self.county = nil end - def address_answered? - [address_line1, town_or_city].all?(&:present?) + def address_answered_without_uprn? + [address_line1, town_or_city].all?(&:present?) && uprn.nil? end def get_lar diff --git a/spec/models/form/lettings/questions/uprn_spec.rb b/spec/models/form/lettings/questions/uprn_spec.rb index b11ddc7d9..556ae425a 100644 --- a/spec/models/form/lettings/questions/uprn_spec.rb +++ b/spec/models/form/lettings/questions/uprn_spec.rb @@ -62,11 +62,13 @@ RSpec.describe Form::Lettings::Questions::Uprn, type: :model do postcode_full: "AA1 1AA", la: "E09000003", uprn_known:, + uprn:, ) end context "when uprn known nil" do let(:uprn_known) { nil } + let(:uprn) { nil } it "returns formatted value" do expect(question.get_extra_check_answer_value(log)).to be_nil @@ -75,6 +77,7 @@ RSpec.describe Form::Lettings::Questions::Uprn, type: :model do context "when uprn known" do let(:uprn_known) { 1 } + let(:uprn) { 123456789 } it "returns formatted value" do expect(question.get_extra_check_answer_value(log)).to eq( @@ -85,6 +88,7 @@ RSpec.describe Form::Lettings::Questions::Uprn, type: :model do context "when uprn not known" do let(:uprn_known) { 0 } + let(:uprn) { nil } it "returns formatted value" do expect(question.get_extra_check_answer_value(log)).to be_nil