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