Browse Source

Don't crash when invalid checkbox answers are selected

pull/823/head
baarkerlounger 3 years ago
parent
commit
f07d4511c0
  1. 2
      app/controllers/form_controller.rb
  2. 15
      spec/features/form/checkboxes_spec.rb

2
app/controllers/form_controller.rb

@ -73,7 +73,7 @@ private
end end
if session["fields"] if session["fields"]
session["fields"].each do |field, value| 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 @case_log[field] = value
end end
end end

15
spec/features/form/checkboxes_spec.rb

@ -38,4 +38,19 @@ RSpec.describe "Checkboxes" do
expect(case_log["housingneeds_h"]).to eq(1) expect(case_log["housingneeds_h"]).to eq(1)
end end
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 end

Loading…
Cancel
Save