Browse Source

feat: add validation to setpu section

pull/1538/head
natdeanlewissoftwire 2 years ago
parent
commit
b3128e7196
  1. 7
      app/models/form/lettings/pages/max_rent_value_check.rb
  2. 9
      app/models/form/lettings/pages/min_rent_value_check.rb
  3. 6
      app/models/form/lettings/questions/rent_value_check.rb
  4. 4
      app/models/form/lettings/subsections/income_and_benefits.rb
  5. 8
      app/models/form/lettings/subsections/property_information.rb
  6. 8
      app/models/form/lettings/subsections/setup.rb
  7. 8
      spec/models/form/lettings/subsections/setup_spec.rb

7
app/models/form/lettings/pages/max_rent_value_check.rb

@ -1,6 +1,6 @@
class Form::Lettings::Pages::MaxRentValueCheck < ::Form::Page
def initialize(id, hsh, subsection)
super
def initialize(id, hsh, subsection, check_answers_card_number:)
super(id, hsh, subsection)
@id = "max_rent_value_check"
@depends_on = [{ "rent_in_soft_max_range?" => true }]
@title_text = {
@ -17,9 +17,10 @@ class Form::Lettings::Pages::MaxRentValueCheck < ::Form::Page
},
],
}
@check_answers_card_number = check_answers_card_number
end
def questions
@questions ||= [Form::Lettings::Questions::RentValueCheck.new(nil, nil, self)]
@questions ||= [Form::Lettings::Questions::RentValueCheck.new(nil, nil, self, check_answers_card_number: @check_answers_card_number)]
end
end

9
app/models/form/lettings/pages/min_rent_value_check.rb

@ -1,6 +1,6 @@
class Form::Lettings::Pages::MinRentValueCheck < ::Form::Page
def initialize(id, hsh, subsection)
super
def initialize(id, hsh, subsection, check_answers_card_number:)
super(id, hsh, subsection)
@id = "min_rent_value_check"
@depends_on = [{ "rent_in_soft_min_range?" => true }]
@title_text = {
@ -16,10 +16,11 @@ class Form::Lettings::Pages::MinRentValueCheck < ::Form::Page
"i18n_template" => "soft_min_for_period",
},
],
}
},
@check_answers_card_number = check_answers_card_number
end
def questions
@questions ||= [Form::Lettings::Questions::RentValueCheck.new(nil, nil, self)]
@questions ||= [Form::Lettings::Questions::RentValueCheck.new(nil, nil, self, check_answers_card_number: @check_answers_card_number)]
end
end

6
app/models/form/lettings/questions/rent_value_check.rb

@ -1,11 +1,11 @@
class Form::Lettings::Questions::RentValueCheck < ::Form::Question
def initialize(id, hsh, page)
super
def initialize(id, hsh, page, check_answers_card_number:)
super(id, hsh, page)
@id = "rent_value_check"
@check_answer_label = "Total rent confirmation"
@header = "Are you sure this is correct?"
@type = "interruption_screen"
@check_answers_card_number = 0
@check_answers_card_number = check_answers_card_number
@answer_options = ANSWER_OPTIONS
@hidden_in_check_answers = { "depends_on" => [{ "rent_value_check" => 0 }, { "rent_value_check" => 1 }] }
end

4
app/models/form/lettings/subsections/income_and_benefits.rb

@ -24,8 +24,8 @@ class Form::Lettings::Subsections::IncomeAndBenefits < ::Form::Subsection
Form::Lettings::Pages::RentBiWeekly.new(nil, nil, self),
Form::Lettings::Pages::Rent4Weekly.new(nil, nil, self),
Form::Lettings::Pages::RentMonthly.new(nil, nil, self),
Form::Lettings::Pages::MinRentValueCheck.new(nil, nil, self),
Form::Lettings::Pages::MaxRentValueCheck.new(nil, nil, self),
Form::Lettings::Pages::MinRentValueCheck.new(nil, nil, self, check_answers_card_number: 0),
Form::Lettings::Pages::MaxRentValueCheck.new(nil, nil, self, check_answers_card_number: 0),
Form::Lettings::Pages::Outstanding.new(nil, nil, self),
Form::Lettings::Pages::OutstandingAmount.new(nil, nil, self),
].compact

8
app/models/form/lettings/subsections/property_information.rb

@ -10,8 +10,8 @@ class Form::Lettings::Subsections::PropertyInformation < ::Form::Subsection
@pages ||= [
uprn_questions,
Form::Lettings::Pages::PropertyLocalAuthority.new(nil, nil, self),
Form::Lettings::Pages::MinRentValueCheck.new(nil, nil, self),
Form::Lettings::Pages::MaxRentValueCheck.new(nil, nil, self),
Form::Lettings::Pages::MinRentValueCheck.new(nil, nil, self, check_answers_card_number: 0),
Form::Lettings::Pages::MaxRentValueCheck.new(nil, nil, self, check_answers_card_number: 0),
Form::Lettings::Pages::FirstTimePropertyLetAsSocialHousing.new(nil, nil, self),
Form::Lettings::Pages::PropertyLetType.new(nil, nil, self),
Form::Lettings::Pages::PropertyVacancyReasonNotFirstLet.new(nil, nil, self),
@ -22,8 +22,8 @@ class Form::Lettings::Subsections::PropertyInformation < ::Form::Subsection
Form::Lettings::Pages::PropertyBuildingType.new(nil, nil, self),
Form::Lettings::Pages::PropertyWheelchairAccessible.new(nil, nil, self),
Form::Lettings::Pages::PropertyNumberOfBedrooms.new(nil, nil, self),
Form::Lettings::Pages::MinRentValueCheck.new(nil, nil, self),
Form::Lettings::Pages::MaxRentValueCheck.new(nil, nil, self),
Form::Lettings::Pages::MinRentValueCheck.new(nil, nil, self, check_answers_card_number: 0),
Form::Lettings::Pages::MaxRentValueCheck.new(nil, nil, self, check_answers_card_number: 0),
Form::Lettings::Pages::VoidDate.new(nil, nil, self),
Form::Lettings::Pages::VoidDateValueCheck.new(nil, nil, self),
Form::Lettings::Pages::PropertyMajorRepairs.new(nil, nil, self),

8
app/models/form/lettings/subsections/setup.rb

@ -10,14 +10,22 @@ class Form::Lettings::Subsections::Setup < ::Form::Subsection
@pages ||= [
organisation_page,
stock_owner_page,
Form::Lettings::Pages::MinRentValueCheck.new(nil, nil, self, check_answers_card_number: nil),
Form::Lettings::Pages::MaxRentValueCheck.new(nil, nil, self, check_answers_card_number: nil),
managing_organisation_page,
created_by_page,
Form::Lettings::Pages::NeedsType.new(nil, nil, self),
Form::Lettings::Pages::Scheme.new(nil, nil, self),
Form::Lettings::Pages::Location.new(nil, nil, self),
Form::Lettings::Pages::MinRentValueCheck.new(nil, nil, self, check_answers_card_number: nil),
Form::Lettings::Pages::MaxRentValueCheck.new(nil, nil, self, check_answers_card_number: nil),
Form::Lettings::Pages::Renewal.new(nil, nil, self),
Form::Lettings::Pages::TenancyStartDate.new(nil, nil, self),
Form::Lettings::Pages::MinRentValueCheck.new(nil, nil, self, check_answers_card_number: nil),
Form::Lettings::Pages::MaxRentValueCheck.new(nil, nil, self, check_answers_card_number: nil),
Form::Lettings::Pages::RentType.new(nil, nil, self),
Form::Lettings::Pages::MinRentValueCheck.new(nil, nil, self, check_answers_card_number: nil),
Form::Lettings::Pages::MaxRentValueCheck.new(nil, nil, self, check_answers_card_number: nil),
Form::Lettings::Pages::TenantCode.new(nil, nil, self),
Form::Lettings::Pages::PropertyReference.new(nil, nil, self),
].compact

8
spec/models/form/lettings/subsections/setup_spec.rb

@ -15,14 +15,22 @@ RSpec.describe Form::Lettings::Subsections::Setup, type: :model do
expect(setup.pages.map(&:id)).to eq(
%w[
stock_owner
min_rent_value_check
max_rent_value_check
managing_organisation
created_by
needs_type
scheme
location
min_rent_value_check
max_rent_value_check
renewal
tenancy_start_date
min_rent_value_check
max_rent_value_check
rent_type
min_rent_value_check
max_rent_value_check
tenant_code
property_reference
],

Loading…
Cancel
Save