diff --git a/app/controllers/form_controller.rb b/app/controllers/form_controller.rb index 5a8d6375d..fd3972ac4 100644 --- a/app/controllers/form_controller.rb +++ b/app/controllers/form_controller.rb @@ -73,7 +73,7 @@ private end if session["fields"] session["fields"].each do |field, value| - unless @case_log.form.get_question(field, @case_log).type == "date" + unless @case_log.form.get_question(field, @case_log)&.type == "date" @case_log[field] = value end end diff --git a/spec/features/form/checkboxes_spec.rb b/spec/features/form/checkboxes_spec.rb index f6486906e..92555977c 100644 --- a/spec/features/form/checkboxes_spec.rb +++ b/spec/features/form/checkboxes_spec.rb @@ -38,4 +38,19 @@ RSpec.describe "Checkboxes" do expect(case_log["housingneeds_h"]).to eq(1) end end + + context "when a checkbox question is submitted with invalid answers" do + + before do + allow(case_log).to receive(:update).and_return(false) + end + + it "shows an error summary", js:true do + visit("/logs/#{id}/accessibility-requirements") + page.check("case-log-accessibility-requirements-housingneeds-a-field", allow_label_click: true) + page.check("case-log-accessibility-requirements-housingneeds-c-field", allow_label_click: true) + click_button("Save and continue") + expect(page).to have_title("Error") + end + end end