From 8baa7f382220e32e33f873c922eb221de83881d9 Mon Sep 17 00:00:00 2001 From: Rachael Booth Date: Thu, 6 Jun 2024 10:36:48 +0100 Subject: [PATCH] CLDC-3487: Clear previous_la_known when necessary for renewal logs --- app/models/derived_variables/lettings_log_variables.rb | 2 +- spec/models/lettings_log_derived_fields_spec.rb | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/app/models/derived_variables/lettings_log_variables.rb b/app/models/derived_variables/lettings_log_variables.rb index 7bed44cbd..05060669a 100644 --- a/app/models/derived_variables/lettings_log_variables.rb +++ b/app/models/derived_variables/lettings_log_variables.rb @@ -123,7 +123,7 @@ module DerivedVariables::LettingsLogVariables 0 end self.is_previous_la_inferred = is_la_inferred - self.previous_la_known = 1 if la.present? + self.previous_la_known = la.present? ? 1 : 0 self.prevloc = la end diff --git a/spec/models/lettings_log_derived_fields_spec.rb b/spec/models/lettings_log_derived_fields_spec.rb index 8b7783d36..111248d27 100644 --- a/spec/models/lettings_log_derived_fields_spec.rb +++ b/spec/models/lettings_log_derived_fields_spec.rb @@ -987,6 +987,16 @@ RSpec.describe LettingsLog, type: :model do .and change(log, :prevloc).to(expected_la) end + it "clears values for previous location and related fields when log is a renewal and current values are cleared" do + log.assign_attributes(postcode_known: 0, postcode_full: nil, la: nil, renewal: 1, previous_la_known: 1, prevloc: "E09000033", ppostcode_full: "SW1A 1AA", ppcodenk: 0) + + expect { log.set_derived_fields! } + .to change(log, :previous_la_known).to(0) + .and change(log, :prevloc).to(nil) + .and change(log, :ppcodenk).to(1) + .and change(log, :ppostcode_full).to(nil) + end + context "when the log is general needs" do context "and the managing organisation is a private registered provider" do before do