Browse Source

Conditional check box questions are shown on a new page

pull/235/head
baarkerlounger 4 years ago
parent
commit
c3e3e761c9
  1. 4
      app/models/validations/household_validations.rb
  2. 10
      config/forms/2021_2022.json
  3. 13
      spec/models/case_log_spec.rb

4
app/models/validations/household_validations.rb

@ -4,10 +4,6 @@ module Validations::HouseholdValidations
def validate_reasonable_preference(record)
if record.homeless == "No" && record.reasonpref == "Yes"
record.errors.add :reasonpref, I18n.t("validations.household.reasonpref.not_homeless")
elsif record.reasonpref == "Yes"
if [record.rp_homeless, record.rp_insan_unsat, record.rp_medwel, record.rp_hardship, record.rp_dontknow].none? { |a| a == "Yes" }
record.errors.add :reasonable_preference_reason, I18n.t("validations.household.reasonable_preference_reason.reason_required")
end
elsif record.reasonpref == "No"
if [record.rp_homeless, record.rp_insan_unsat, record.rp_medwel, record.rp_hardship, record.rp_dontknow].any? { |a| a == "Yes" }
record.errors.add :reasonable_preference_reason, I18n.t("validations.household.reasonable_preference_reason.reason_not_required")

10
config/forms/2021_2022.json

@ -3185,11 +3185,15 @@
"1": "No",
"divider": true,
"2": "Don’t know"
},
"conditional_for": {
"reasonable_preference_reason": ["Yes"]
}
}
}
},
"reasonable_preference_reason": {
"header": "Reason for reasonable preference being given",
"description": "",
"depends_on": [{ "reasonpref": "Yes" }],
"questions": {
"reasonable_preference_reason": {
"check_answer_label": "Reason for reasonable preference",
"header": "Why were they given reasonable preference?",

13
spec/models/case_log_spec.rb

@ -73,19 +73,6 @@ RSpec.describe Form, type: :model do
end
context "reasonable preference is yes" do
it "validates a reason must be selected" do
expect {
CaseLog.create!(reasonpref: "Yes",
rp_homeless: nil,
rp_insan_unsat: nil,
rp_medwel: nil,
rp_hardship: nil,
rp_dontknow: nil,
owning_organisation: owning_organisation,
managing_organisation: managing_organisation)
}.to raise_error(ActiveRecord::RecordInvalid)
end
it "validates that previously homeless should be selected" do
expect {
CaseLog.create!(

Loading…
Cancel
Save