From b6051ee4adef263c01f9698dd84e9c680baeac63 Mon Sep 17 00:00:00 2001 From: Rachael Booth Date: Mon, 11 Mar 2024 12:05:21 +0000 Subject: [PATCH] CLDC-3234: Don't blank hhmemb when blanking invalid non setup fields --- app/models/log.rb | 3 ++- spec/models/log_spec.rb | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/app/models/log.rb b/app/models/log.rb index e15869634..486ffa252 100644 --- a/app/models/log.rb +++ b/app/models/log.rb @@ -119,12 +119,13 @@ class Log < ApplicationRecord def blank_invalid_non_setup_fields! setup_ids = form.setup_sections.flat_map(&:subsections).flat_map(&:questions).map(&:id) + fields_to_keep = setup_ids + %w[hhmemb] 2.times do next if valid? errors.each do |error| - next if setup_ids.include?(error.attribute.to_s) + next if fields_to_keep.include?(error.attribute.to_s) question = form.questions.find { |q| q.id == error.attribute.to_s } if question&.type == "checkbox" diff --git a/spec/models/log_spec.rb b/spec/models/log_spec.rb index 3494f152f..b35737c67 100644 --- a/spec/models/log_spec.rb +++ b/spec/models/log_spec.rb @@ -76,5 +76,16 @@ RSpec.describe Log, type: :model do expect(model.previous_la_known).to be_nil end end + + context "when hhmemb is invalid for a lettings log" do + subject(:model) { build(:lettings_log, :setup_completed, hhmemb: 1, joint: 1) } + + it "does not blank it" do + model.valid? + model.blank_invalid_non_setup_fields! + expect(model.hhmemb).to be(1) + expect(model.joint).to be_nil + end + end end end