Browse Source

CLDC-3234: Don't blank hhmemb when blanking invalid non setup fields

pull/2301/head
Rachael Booth 2 years ago
parent
commit
b6051ee4ad
  1. 3
      app/models/log.rb
  2. 11
      spec/models/log_spec.rb

3
app/models/log.rb

@ -119,12 +119,13 @@ class Log < ApplicationRecord
def blank_invalid_non_setup_fields! def blank_invalid_non_setup_fields!
setup_ids = form.setup_sections.flat_map(&:subsections).flat_map(&:questions).map(&:id) setup_ids = form.setup_sections.flat_map(&:subsections).flat_map(&:questions).map(&:id)
fields_to_keep = setup_ids + %w[hhmemb]
2.times do 2.times do
next if valid? next if valid?
errors.each do |error| 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 } question = form.questions.find { |q| q.id == error.attribute.to_s }
if question&.type == "checkbox" if question&.type == "checkbox"

11
spec/models/log_spec.rb

@ -76,5 +76,16 @@ RSpec.describe Log, type: :model do
expect(model.previous_la_known).to be_nil expect(model.previous_la_known).to be_nil
end end
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
end end

Loading…
Cancel
Save