diff --git a/app/models/case_log.rb b/app/models/case_log.rb index 35594bb39..9b703a510 100644 --- a/app/models/case_log.rb +++ b/app/models/case_log.rb @@ -537,7 +537,8 @@ private homeless: [{ key: :renewal, value: 0 }], referral: [{ key: :renewal, value: 0 }], underoccupation_benefitcap: [{ key: :renewal, value: 0 }], - wchair: [{ key: :needstype, value: 1 }] } + wchair: [{ key: :needstype, value: 1 }], + location_id: [{ key: :needstype, value: 1 }] } dependent_questions.each do |dependent, conditions| condition_key = conditions.first[:key] diff --git a/spec/models/case_log_spec.rb b/spec/models/case_log_spec.rb index 0df6361f5..9520feffe 100644 --- a/spec/models/case_log_spec.rb +++ b/spec/models/case_log_spec.rb @@ -1843,7 +1843,7 @@ RSpec.describe CaseLog do end context "when it changes from a supported housing to not a supported housing" do - let(:location) { FactoryBot.create(:location, mobility_type: "A") } + let(:location) { FactoryBot.create(:location, mobility_type: "A", postcode: "SW1P 4DG") } let(:case_log) { FactoryBot.create(:case_log, location:) } it "resets inferred wchair value" do @@ -1858,6 +1858,18 @@ RSpec.describe CaseLog do expect(record_from_db["wchair"]).to eq(nil) expect(case_log["wchair"]).to eq(nil) end + + it "resets location" do + case_log.update!({ needstype: 2 }) + + record_from_db = ActiveRecord::Base.connection.execute("select location_id from case_logs where id=#{case_log.id}").to_a[0] + expect(record_from_db["location_id"]).to eq(location.id) + expect(case_log["location_id"]).to eq(location.id) + case_log.update!({ needstype: 1 }) + record_from_db = ActiveRecord::Base.connection.execute("select location_id from case_logs where id=#{case_log.id}").to_a[0] + expect(record_from_db["location_id"]).to eq(nil) + expect(case_log["location_id"]).to eq(nil) + end end context "when it is not a renewal" do