Browse Source

feat: reset other address fields when uprn is not confirmed

pull/2327/head
natdeanlewissoftwire 2 years ago
parent
commit
6f22ebb991
  1. 9
      app/models/derived_variables/lettings_log_variables.rb
  2. 9
      app/models/derived_variables/sales_log_variables.rb
  3. 7050
      spec/models/lettings_log_spec.rb
  4. 12
      spec/shared/shared_examples_for_derived_fields.rb

9
app/models/derived_variables/lettings_log_variables.rb

@ -113,10 +113,17 @@ module DerivedVariables::LettingsLogVariables
self.uprn = nil
end
if uprn_confirmed&.zero?
if uprn_known == 1 && uprn_confirmed&.zero?
self.uprn = nil
self.uprn_known = 0
self.uprn_confirmed = nil
self.address_line1 = nil
self.address_line2 = nil
self.town_or_city = nil
self.county = nil
self.postcode_known = nil
self.postcode_full = nil
self.la = nil
end
self.nationality_all = nationality_all_group if nationality_uk_or_prefers_not_to_say?

9
app/models/derived_variables/sales_log_variables.rb

@ -44,10 +44,17 @@ module DerivedVariables::SalesLogVariables
self.uprn = nil
end
if uprn_confirmed&.zero?
if uprn_known == 1 && uprn_confirmed&.zero?
self.uprn = nil
self.uprn_known = 0
self.uprn_confirmed = nil
self.address_line1 = nil
self.address_line2 = nil
self.town_or_city = nil
self.county = nil
self.postcode_known = nil
self.postcode_full = nil
self.la = nil
end
self.nationality_all = nationality_all_group if nationality_uk_or_prefers_not_to_say?

7050
spec/models/lettings_log_spec.rb

File diff suppressed because it is too large Load Diff

12
spec/shared/shared_examples_for_derived_fields.rb

@ -20,8 +20,16 @@ RSpec.shared_examples "shared examples for derived fields" do |log_type|
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)
.and change(log, :uprn).from("1").to(nil)
.and change(log, :uprn_confirmed).from(0).to(nil)
end
it "does not affect older logs with uprn_confirmed == 0" do
log = FactoryBot.build(log_type, uprn_known: 0, uprn: nil, uprn_confirmed: 0)
expect { log.set_derived_fields! }.to not_change(log, :uprn_known)
.and not_change(log, :uprn)
.and not_change(log, :uprn_confirmed)
end
end
end

Loading…
Cancel
Save