Browse Source

Validate household disability questions

pull/1215/head
Jack S 4 years ago
parent
commit
4de6a4a316
  1. 12
      app/models/form/sales/questions/household_wheelchair_check.rb
  2. 1
      app/models/form/sales/subsections/household_needs.rb
  3. 4
      app/models/validations/sales/soft_validations.rb
  4. 2
      spec/models/form/sales/questions/household_wheelchair_check_spec.rb
  5. 1
      spec/models/form/sales/subsections/household_needs_spec.rb
  6. 4
      spec/models/form_handler_spec.rb
  7. 45
      spec/models/validations/sales/soft_validations_spec.rb

12
app/models/form/sales/questions/household_wheelchair_check.rb

@ -9,15 +9,7 @@ class Form::Sales::Questions::HouseholdWheelchairCheck < ::Form::Question
"0" => { "value" => "Yes" }, "0" => { "value" => "Yes" },
"1" => { "value" => "No" }, "1" => { "value" => "No" },
} }
@hidden_in_check_answers = { @hidden_in_check_answers = true
"depends_on" => [ @page = page
{
"wheel_value_check" => 0,
},
{
"wheel_value_check" => 1,
},
],
}
end end
end end

1
app/models/form/sales/subsections/household_needs.rb

@ -12,6 +12,7 @@ class Form::Sales::Subsections::HouseholdNeeds < ::Form::Subsection
Form::Sales::Pages::BuyerStillServing.new(nil, nil, self), Form::Sales::Pages::BuyerStillServing.new(nil, nil, self),
Form::Sales::Pages::ArmedForcesSpouse.new(nil, nil, self), Form::Sales::Pages::ArmedForcesSpouse.new(nil, nil, self),
Form::Sales::Pages::HouseholdDisability.new(nil, nil, self), Form::Sales::Pages::HouseholdDisability.new(nil, nil, self),
Form::Sales::Pages::HouseholdWheelchairCheck.new("disability_wheelchair_check", nil, self),
Form::Sales::Pages::HouseholdWheelchair.new(nil, nil, self), Form::Sales::Pages::HouseholdWheelchair.new(nil, nil, self),
Form::Sales::Pages::HouseholdWheelchairCheck.new("wheelchair_check", nil, self), Form::Sales::Pages::HouseholdWheelchairCheck.new("wheelchair_check", nil, self),
] ]

4
app/models/validations/sales/soft_validations.rb

@ -22,9 +22,9 @@ module Validations::Sales::SoftValidations
end end
def wheelchair_when_not_disabled? def wheelchair_when_not_disabled?
return false unless disabled == 2 return unless disabled && wheel
wheel == 1 wheel == 1 && disabled == 2
end end
def savings_over_soft_max? def savings_over_soft_max?

2
spec/models/form/sales/questions/household_wheelchair_check_spec.rb

@ -43,6 +43,6 @@ RSpec.describe Form::Sales::Questions::HouseholdWheelchairCheck, type: :model do
end end
it "has the correct hidden_in_check_answers" do it "has the correct hidden_in_check_answers" do
expect(question.hidden_in_check_answers).to eq({ "depends_on" => [{ "wheel_value_check" => 0 }, { "wheel_value_check" => 1 }] }) expect(question.hidden_in_check_answers).to be true
end end
end end

1
spec/models/form/sales/subsections/household_needs_spec.rb

@ -18,6 +18,7 @@ RSpec.describe Form::Sales::Subsections::HouseholdNeeds, type: :model do
buyer_still_serving buyer_still_serving
armed_forces_spouse armed_forces_spouse
household_disability household_disability
disability_wheelchair_check
household_wheelchair household_wheelchair
wheelchair_check wheelchair_check
], ],

4
spec/models/form_handler_spec.rb

@ -52,14 +52,14 @@ RSpec.describe FormHandler do
it "is able to load a current sales form" do it "is able to load a current sales form" do
form = form_handler.get_form("current_sales") form = form_handler.get_form("current_sales")
expect(form).to be_a(Form) expect(form).to be_a(Form)
expect(form.pages.count).to eq(182) expect(form.pages.count).to eq(183)
expect(form.name).to eq("2022_2023_sales") expect(form.name).to eq("2022_2023_sales")
end end
it "is able to load a previous sales form" do it "is able to load a previous sales form" do
form = form_handler.get_form("previous_sales") form = form_handler.get_form("previous_sales")
expect(form).to be_a(Form) expect(form).to be_a(Form)
expect(form.pages.count).to eq(182) expect(form.pages.count).to eq(183)
expect(form.name).to eq("2021_2022_sales") expect(form.name).to eq("2021_2022_sales")
end end
end end

45
spec/models/validations/sales/soft_validations_spec.rb

@ -7,14 +7,14 @@ RSpec.describe Validations::Sales::SoftValidations do
context "when validating soft min" do context "when validating soft min" do
it "returns false if no income1 is given" do it "returns false if no income1 is given" do
record.income1 = nil record.income1 = nil
expect(record)
.not_to be_income1_under_soft_min expect(record).not_to be_income1_under_soft_min
end end
it "returns false if no ecstat1 is given" do it "returns false if no ecstat1 is given" do
record.ecstat1 = nil record.ecstat1 = nil
expect(record)
.not_to be_income1_under_soft_min expect(record).not_to be_income1_under_soft_min
end end
[ [
@ -292,4 +292,41 @@ RSpec.describe Validations::Sales::SoftValidations do
expect(record).not_to be_hodate_3_years_or_more_saledate expect(record).not_to be_hodate_3_years_or_more_saledate
end end
end end
describe "wheelchair_when_not_disabled" do
it "when hodate not set" do
record.disabled = 2
record.wheel = nil
expect(record).not_to be_wheelchair_when_not_disabled
end
it "when disabled not set" do
record.disabled = nil
record.wheel = 1
expect(record).not_to be_wheelchair_when_not_disabled
end
it "when disabled and wheel not set" do
record.disabled = nil
record.wheel = nil
expect(record).not_to be_wheelchair_when_not_disabled
end
it "when disabled == 2 && wheel == 1" do
record.disabled = 2
record.wheel = 1
expect(record).to be_wheelchair_when_not_disabled
end
it "when disabled == 2 && wheel != 1" do
record.disabled = 2
record.wheel = 2
expect(record).not_to be_wheelchair_when_not_disabled
end
end
end end

Loading…
Cancel
Save