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 class Form::Lettings::Pages::MaxRentValueCheck < ::Form::Page
def initialize(id, hsh, subsection) def initialize(id, hsh, subsection, check_answers_card_number:)
super super(id, hsh, subsection)
@id = "max_rent_value_check" @id = "max_rent_value_check"
@depends_on = [{ "rent_in_soft_max_range?" => true }] @depends_on = [{ "rent_in_soft_max_range?" => true }]
@title_text = { @title_text = {
@ -17,9 +17,10 @@ class Form::Lettings::Pages::MaxRentValueCheck < ::Form::Page
}, },
], ],
} }
@check_answers_card_number = check_answers_card_number
end end
def questions 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
end end

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

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

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

@ -1,11 +1,11 @@
class Form::Lettings::Questions::RentValueCheck < ::Form::Question class Form::Lettings::Questions::RentValueCheck < ::Form::Question
def initialize(id, hsh, page) def initialize(id, hsh, page, check_answers_card_number:)
super super(id, hsh, page)
@id = "rent_value_check" @id = "rent_value_check"
@check_answer_label = "Total rent confirmation" @check_answer_label = "Total rent confirmation"
@header = "Are you sure this is correct?" @header = "Are you sure this is correct?"
@type = "interruption_screen" @type = "interruption_screen"
@check_answers_card_number = 0 @check_answers_card_number = check_answers_card_number
@answer_options = ANSWER_OPTIONS @answer_options = ANSWER_OPTIONS
@hidden_in_check_answers = { "depends_on" => [{ "rent_value_check" => 0 }, { "rent_value_check" => 1 }] } @hidden_in_check_answers = { "depends_on" => [{ "rent_value_check" => 0 }, { "rent_value_check" => 1 }] }
end 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::RentBiWeekly.new(nil, nil, self),
Form::Lettings::Pages::Rent4Weekly.new(nil, nil, self), Form::Lettings::Pages::Rent4Weekly.new(nil, nil, self),
Form::Lettings::Pages::RentMonthly.new(nil, nil, self), Form::Lettings::Pages::RentMonthly.new(nil, nil, self),
Form::Lettings::Pages::MinRentValueCheck.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), Form::Lettings::Pages::MaxRentValueCheck.new(nil, nil, self, check_answers_card_number: 0),
Form::Lettings::Pages::Outstanding.new(nil, nil, self), Form::Lettings::Pages::Outstanding.new(nil, nil, self),
Form::Lettings::Pages::OutstandingAmount.new(nil, nil, self), Form::Lettings::Pages::OutstandingAmount.new(nil, nil, self),
].compact ].compact

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

@ -10,8 +10,8 @@ class Form::Lettings::Subsections::PropertyInformation < ::Form::Subsection
@pages ||= [ @pages ||= [
uprn_questions, uprn_questions,
Form::Lettings::Pages::PropertyLocalAuthority.new(nil, nil, self), Form::Lettings::Pages::PropertyLocalAuthority.new(nil, nil, self),
Form::Lettings::Pages::MinRentValueCheck.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), Form::Lettings::Pages::MaxRentValueCheck.new(nil, nil, self, check_answers_card_number: 0),
Form::Lettings::Pages::FirstTimePropertyLetAsSocialHousing.new(nil, nil, self), Form::Lettings::Pages::FirstTimePropertyLetAsSocialHousing.new(nil, nil, self),
Form::Lettings::Pages::PropertyLetType.new(nil, nil, self), Form::Lettings::Pages::PropertyLetType.new(nil, nil, self),
Form::Lettings::Pages::PropertyVacancyReasonNotFirstLet.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::PropertyBuildingType.new(nil, nil, self),
Form::Lettings::Pages::PropertyWheelchairAccessible.new(nil, nil, self), Form::Lettings::Pages::PropertyWheelchairAccessible.new(nil, nil, self),
Form::Lettings::Pages::PropertyNumberOfBedrooms.new(nil, nil, self), Form::Lettings::Pages::PropertyNumberOfBedrooms.new(nil, nil, self),
Form::Lettings::Pages::MinRentValueCheck.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), Form::Lettings::Pages::MaxRentValueCheck.new(nil, nil, self, check_answers_card_number: 0),
Form::Lettings::Pages::VoidDate.new(nil, nil, self), Form::Lettings::Pages::VoidDate.new(nil, nil, self),
Form::Lettings::Pages::VoidDateValueCheck.new(nil, nil, self), Form::Lettings::Pages::VoidDateValueCheck.new(nil, nil, self),
Form::Lettings::Pages::PropertyMajorRepairs.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 ||= [ @pages ||= [
organisation_page, organisation_page,
stock_owner_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, managing_organisation_page,
created_by_page, created_by_page,
Form::Lettings::Pages::NeedsType.new(nil, nil, self), Form::Lettings::Pages::NeedsType.new(nil, nil, self),
Form::Lettings::Pages::Scheme.new(nil, nil, self), Form::Lettings::Pages::Scheme.new(nil, nil, self),
Form::Lettings::Pages::Location.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::Renewal.new(nil, nil, self),
Form::Lettings::Pages::TenancyStartDate.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::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::TenantCode.new(nil, nil, self),
Form::Lettings::Pages::PropertyReference.new(nil, nil, self), Form::Lettings::Pages::PropertyReference.new(nil, nil, self),
].compact ].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( expect(setup.pages.map(&:id)).to eq(
%w[ %w[
stock_owner stock_owner
min_rent_value_check
max_rent_value_check
managing_organisation managing_organisation
created_by created_by
needs_type needs_type
scheme scheme
location location
min_rent_value_check
max_rent_value_check
renewal renewal
tenancy_start_date tenancy_start_date
min_rent_value_check
max_rent_value_check
rent_type rent_type
min_rent_value_check
max_rent_value_check
tenant_code tenant_code
property_reference property_reference
], ],

Loading…
Cancel
Save