From 7c1b248971492397bdc19485c1b3ca619d733207 Mon Sep 17 00:00:00 2001 From: Kat Date: Fri, 25 Nov 2022 15:47:39 +0000 Subject: [PATCH] Update unresulved when the log is corrected --- .../derived_variables/lettings_log_variables.rb | 2 ++ spec/models/lettings_log_spec.rb | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/app/models/derived_variables/lettings_log_variables.rb b/app/models/derived_variables/lettings_log_variables.rb index 1b1817ec3..87d278cde 100644 --- a/app/models/derived_variables/lettings_log_variables.rb +++ b/app/models/derived_variables/lettings_log_variables.rb @@ -65,6 +65,8 @@ module DerivedVariables::LettingsLogVariables self.voiddate = startdate if is_renewal? self.vacdays = property_vacant_days + self.unresolved = false if unresolved == true && location.present? && scheme.present? + set_housingneeds_fields if housingneeds? end diff --git a/spec/models/lettings_log_spec.rb b/spec/models/lettings_log_spec.rb index 15936b767..ab986015d 100644 --- a/spec/models/lettings_log_spec.rb +++ b/spec/models/lettings_log_spec.rb @@ -1841,6 +1841,23 @@ RSpec.describe LettingsLog do expect(lettings_log["housingneeds_g"]).to eq(1) end end + + context "when updating a log affected by deactivation" do + let(:scheme) { FactoryBot.create(:scheme, owning_organisation: lettings_log.owning_organisation) } + let(:location) { FactoryBot.create(:location, scheme:) } + + before do + lettings_log.update!({ needstype: 2, location: nil, scheme: nil, unresolved: true }) + lettings_log.reload + end + + it "sets unresolved to false if scheme and location have been provided" do + lettings_log.update!({ location:, scheme: }) + record_from_db = ActiveRecord::Base.connection.execute("select unresolved from lettings_logs where id=#{lettings_log.id}").to_a[0] + expect(record_from_db["unresolved"]).to eq(false) + expect(lettings_log["unresolved"]).to eq(false) + end + end end describe "optional fields" do