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" },
"1" => { "value" => "No" },
}
@hidden_in_check_answers = {
"depends_on" => [
{
"wheel_value_check" => 0,
},
{
"wheel_value_check" => 1,
},
],
}
@hidden_in_check_answers = true
@page = page
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::ArmedForcesSpouse.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::HouseholdWheelchairCheck.new("wheelchair_check", nil, self),
]

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

@ -22,9 +22,9 @@ module Validations::Sales::SoftValidations
end
def wheelchair_when_not_disabled?
return false unless disabled == 2
return unless disabled && wheel
wheel == 1
wheel == 1 && disabled == 2
end
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
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

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
armed_forces_spouse
household_disability
disability_wheelchair_check
household_wheelchair
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
form = form_handler.get_form("current_sales")
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")
end
it "is able to load a previous sales form" do
form = form_handler.get_form("previous_sales")
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")
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
it "returns false if no income1 is given" do
record.income1 = nil
expect(record)
.not_to be_income1_under_soft_min
expect(record).not_to be_income1_under_soft_min
end
it "returns false if no ecstat1 is given" do
record.ecstat1 = nil
expect(record)
.not_to be_income1_under_soft_min
expect(record).not_to be_income1_under_soft_min
end
[
@ -292,4 +292,41 @@ RSpec.describe Validations::Sales::SoftValidations do
expect(record).not_to be_hodate_3_years_or_more_saledate
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

Loading…
Cancel
Save