From f39b2a9c352b01986e73dbfc52171870c514ce28 Mon Sep 17 00:00:00 2001 From: kosiakkatrina <54268893+kosiakkatrina@users.noreply.github.com> Date: Tue, 4 Mar 2025 14:10:28 +0000 Subject: [PATCH] CLDC-3861 Move first let/new build questions (#2956) * Move new build questions * Remove check_answers_card_number for property information --- .../form/lettings/pages/rent_value_check.rb | 5 ++--- app/models/form/lettings/questions/beds.rb | 1 - .../form/lettings/questions/builtype.rb | 1 - ...rst_time_property_let_as_social_housing.rb | 1 - .../major_repairs_date_value_check.rb | 1 - .../form/lettings/questions/majorrepairs.rb | 1 - app/models/form/lettings/questions/mrcdate.rb | 1 - .../lettings/questions/previous_let_type.rb | 1 - .../lettings/questions/rent_value_check.rb | 5 ++--- app/models/form/lettings/questions/rsnvac.rb | 1 - .../lettings/questions/rsnvac_first_let.rb | 1 - .../form/lettings/questions/sheltered.rb | 1 - .../form/lettings/questions/unittype_gn.rb | 1 - .../questions/void_date_value_check.rb | 1 - .../form/lettings/questions/voiddate.rb | 1 - .../form/lettings/questions/wheelchair.rb | 1 - .../subsections/income_and_benefits.rb | 2 +- .../subsections/property_information.rb | 19 +++++++++++++------ .../form/lettings/questions/rsnvac_spec.rb | 4 ---- .../form/lettings/questions/voiddate_spec.rb | 4 ---- .../subsections/property_information_spec.rb | 8 ++++---- 21 files changed, 22 insertions(+), 39 deletions(-) diff --git a/app/models/form/lettings/pages/rent_value_check.rb b/app/models/form/lettings/pages/rent_value_check.rb index 5a1ecc847..314883fda 100644 --- a/app/models/form/lettings/pages/rent_value_check.rb +++ b/app/models/form/lettings/pages/rent_value_check.rb @@ -1,5 +1,5 @@ class Form::Lettings::Pages::RentValueCheck < ::Form::Page - def initialize(id, hsh, subsection, check_answers_card_number: nil) + def initialize(id, hsh, subsection) super(id, hsh, subsection) @depends_on = [{ "rent_soft_validation_triggered?" => true }] @copy_key = "lettings.soft_validations.rent_value_check" @@ -23,11 +23,10 @@ class Form::Lettings::Pages::RentValueCheck < ::Form::Page }, ], } - @check_answers_card_number = check_answers_card_number end def questions - @questions ||= [Form::Lettings::Questions::RentValueCheck.new(nil, nil, self, check_answers_card_number: @check_answers_card_number)] + @questions ||= [Form::Lettings::Questions::RentValueCheck.new(nil, nil, self)] end def interruption_screen_question_ids diff --git a/app/models/form/lettings/questions/beds.rb b/app/models/form/lettings/questions/beds.rb index 4661f5367..1bafa3ddf 100644 --- a/app/models/form/lettings/questions/beds.rb +++ b/app/models/form/lettings/questions/beds.rb @@ -4,7 +4,6 @@ class Form::Lettings::Questions::Beds < ::Form::Question @id = "beds" @type = "numeric" @width = 2 - @check_answers_card_number = 0 @max = 12 @min = 1 @step = 1 diff --git a/app/models/form/lettings/questions/builtype.rb b/app/models/form/lettings/questions/builtype.rb index 7df3c46dd..8c34beca1 100644 --- a/app/models/form/lettings/questions/builtype.rb +++ b/app/models/form/lettings/questions/builtype.rb @@ -3,7 +3,6 @@ class Form::Lettings::Questions::Builtype < ::Form::Question super @id = "builtype" @type = "radio" - @check_answers_card_number = 0 @answer_options = ANSWER_OPTIONS @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] end diff --git a/app/models/form/lettings/questions/first_time_property_let_as_social_housing.rb b/app/models/form/lettings/questions/first_time_property_let_as_social_housing.rb index 0f737fa6e..09e6ece30 100644 --- a/app/models/form/lettings/questions/first_time_property_let_as_social_housing.rb +++ b/app/models/form/lettings/questions/first_time_property_let_as_social_housing.rb @@ -3,7 +3,6 @@ class Form::Lettings::Questions::FirstTimePropertyLetAsSocialHousing < ::Form::Q super @id = "first_time_property_let_as_social_housing" @type = "radio" - @check_answers_card_number = 0 @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] end diff --git a/app/models/form/lettings/questions/major_repairs_date_value_check.rb b/app/models/form/lettings/questions/major_repairs_date_value_check.rb index 0e9cb4171..dd27bda58 100644 --- a/app/models/form/lettings/questions/major_repairs_date_value_check.rb +++ b/app/models/form/lettings/questions/major_repairs_date_value_check.rb @@ -4,7 +4,6 @@ class Form::Lettings::Questions::MajorRepairsDateValueCheck < ::Form::Question @id = "major_repairs_date_value_check" @copy_key = "lettings.soft_validations.major_repairs_date_value_check" @type = "interruption_screen" - @check_answers_card_number = 0 @answer_options = ANSWER_OPTIONS @hidden_in_check_answers = { "depends_on" => [ diff --git a/app/models/form/lettings/questions/majorrepairs.rb b/app/models/form/lettings/questions/majorrepairs.rb index ef33c1e01..a0c8a3a5c 100644 --- a/app/models/form/lettings/questions/majorrepairs.rb +++ b/app/models/form/lettings/questions/majorrepairs.rb @@ -4,7 +4,6 @@ class Form::Lettings::Questions::Majorrepairs < ::Form::Question @id = "majorrepairs" @copy_key = "lettings.property_information.property_major_repairs.majorrepairs" @type = "radio" - @check_answers_card_number = 0 @answer_options = ANSWER_OPTIONS @conditional_for = { "mrcdate" => [1] } @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] diff --git a/app/models/form/lettings/questions/mrcdate.rb b/app/models/form/lettings/questions/mrcdate.rb index 33c8f2c5f..0c311d186 100644 --- a/app/models/form/lettings/questions/mrcdate.rb +++ b/app/models/form/lettings/questions/mrcdate.rb @@ -4,7 +4,6 @@ class Form::Lettings::Questions::Mrcdate < ::Form::Question @id = "mrcdate" @copy_key = "lettings.property_information.property_major_repairs.mrcdate" @type = "date" - @check_answers_card_number = 0 @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] end diff --git a/app/models/form/lettings/questions/previous_let_type.rb b/app/models/form/lettings/questions/previous_let_type.rb index 8270d621c..a3b038d6d 100644 --- a/app/models/form/lettings/questions/previous_let_type.rb +++ b/app/models/form/lettings/questions/previous_let_type.rb @@ -3,7 +3,6 @@ class Form::Lettings::Questions::PreviousLetType < ::Form::Question super @id = "unitletas" @type = "radio" - @check_answers_card_number = 0 @answer_options = answer_options @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] end diff --git a/app/models/form/lettings/questions/rent_value_check.rb b/app/models/form/lettings/questions/rent_value_check.rb index fb7ac8d16..41e8c9fb8 100644 --- a/app/models/form/lettings/questions/rent_value_check.rb +++ b/app/models/form/lettings/questions/rent_value_check.rb @@ -1,10 +1,9 @@ class Form::Lettings::Questions::RentValueCheck < ::Form::Question - def initialize(id, hsh, page, check_answers_card_number:) - super(id, hsh, page) + def initialize(id, hsh, page) + super @id = "rent_value_check" @copy_key = "lettings.soft_validations.rent_value_check" @type = "interruption_screen" - @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 diff --git a/app/models/form/lettings/questions/rsnvac.rb b/app/models/form/lettings/questions/rsnvac.rb index 377641c94..42c8d9f92 100644 --- a/app/models/form/lettings/questions/rsnvac.rb +++ b/app/models/form/lettings/questions/rsnvac.rb @@ -3,7 +3,6 @@ class Form::Lettings::Questions::Rsnvac < ::Form::Question super @id = "rsnvac" @type = "radio" - @check_answers_card_number = 0 @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] end diff --git a/app/models/form/lettings/questions/rsnvac_first_let.rb b/app/models/form/lettings/questions/rsnvac_first_let.rb index 27c43896d..01389871c 100644 --- a/app/models/form/lettings/questions/rsnvac_first_let.rb +++ b/app/models/form/lettings/questions/rsnvac_first_let.rb @@ -3,7 +3,6 @@ class Form::Lettings::Questions::RsnvacFirstLet < ::Form::Question super @id = "rsnvac" @type = "radio" - @check_answers_card_number = 0 @answer_options = ANSWER_OPTIONS @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] end diff --git a/app/models/form/lettings/questions/sheltered.rb b/app/models/form/lettings/questions/sheltered.rb index 4c0ec4c07..35a16ae05 100644 --- a/app/models/form/lettings/questions/sheltered.rb +++ b/app/models/form/lettings/questions/sheltered.rb @@ -3,7 +3,6 @@ class Form::Lettings::Questions::Sheltered < ::Form::Question super @id = "sheltered" @type = "radio" - @check_answers_card_number = 0 @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] end diff --git a/app/models/form/lettings/questions/unittype_gn.rb b/app/models/form/lettings/questions/unittype_gn.rb index 95a199b98..ad8298929 100644 --- a/app/models/form/lettings/questions/unittype_gn.rb +++ b/app/models/form/lettings/questions/unittype_gn.rb @@ -3,7 +3,6 @@ class Form::Lettings::Questions::UnittypeGn < ::Form::Question super @id = "unittype_gn" @type = "radio" - @check_answers_card_number = 0 @answer_options = ANSWER_OPTIONS @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] end diff --git a/app/models/form/lettings/questions/void_date_value_check.rb b/app/models/form/lettings/questions/void_date_value_check.rb index faf507a1b..dc1e26809 100644 --- a/app/models/form/lettings/questions/void_date_value_check.rb +++ b/app/models/form/lettings/questions/void_date_value_check.rb @@ -4,7 +4,6 @@ class Form::Lettings::Questions::VoidDateValueCheck < ::Form::Question @id = "void_date_value_check" @copy_key = "lettings.soft_validations.void_date_value_check" @type = "interruption_screen" - @check_answers_card_number = 0 @answer_options = ANSWER_OPTIONS @hidden_in_check_answers = { "depends_on" => [{ "void_date_value_check" => 0 }, { "void_date_value_check" => 1 }] } end diff --git a/app/models/form/lettings/questions/voiddate.rb b/app/models/form/lettings/questions/voiddate.rb index 1f5d2317a..3bce8a7b8 100644 --- a/app/models/form/lettings/questions/voiddate.rb +++ b/app/models/form/lettings/questions/voiddate.rb @@ -3,7 +3,6 @@ class Form::Lettings::Questions::Voiddate < ::Form::Question super @id = "voiddate" @type = "date" - @check_answers_card_number = 0 @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] @top_guidance_partial = "void_date" end diff --git a/app/models/form/lettings/questions/wheelchair.rb b/app/models/form/lettings/questions/wheelchair.rb index f766a0e44..9da5399e6 100644 --- a/app/models/form/lettings/questions/wheelchair.rb +++ b/app/models/form/lettings/questions/wheelchair.rb @@ -3,7 +3,6 @@ class Form::Lettings::Questions::Wheelchair < ::Form::Question super @id = "wchair" @type = "radio" - @check_answers_card_number = 0 @answer_options = ANSWER_OPTIONS @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] end diff --git a/app/models/form/lettings/subsections/income_and_benefits.rb b/app/models/form/lettings/subsections/income_and_benefits.rb index 4ad3003cb..e037dfc2a 100644 --- a/app/models/form/lettings/subsections/income_and_benefits.rb +++ b/app/models/form/lettings/subsections/income_and_benefits.rb @@ -20,7 +20,7 @@ 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::RentValueCheck.new("brent_rent_value_check", nil, self, check_answers_card_number: 0), + Form::Lettings::Pages::RentValueCheck.new("brent_rent_value_check", nil, self), Form::Lettings::Pages::SchargeValueCheck.new(nil, nil, self), Form::Lettings::Pages::PschargeValueCheck.new(nil, nil, self), Form::Lettings::Pages::SupchargValueCheck.new(nil, nil, self), diff --git a/app/models/form/lettings/subsections/property_information.rb b/app/models/form/lettings/subsections/property_information.rb index 4d3e022c0..d5005b142 100644 --- a/app/models/form/lettings/subsections/property_information.rb +++ b/app/models/form/lettings/subsections/property_information.rb @@ -8,19 +8,17 @@ class Form::Lettings::Subsections::PropertyInformation < ::Form::Subsection def pages @pages ||= [ + (first_let_questions if form.start_year_2025_or_later?), uprn_questions, Form::Lettings::Pages::PropertyLocalAuthority.new(nil, nil, self), - Form::Lettings::Pages::RentValueCheck.new("local_authority_rent_value_check", nil, self, check_answers_card_number: nil), - Form::Lettings::Pages::FirstTimePropertyLetAsSocialHousing.new(nil, nil, self), - Form::Lettings::Pages::PropertyLetType.new(nil, nil, self), - Form::Lettings::Pages::PropertyVacancyReasonNotFirstLet.new(nil, nil, self), - Form::Lettings::Pages::PropertyVacancyReasonFirstLet.new(nil, nil, self), + Form::Lettings::Pages::RentValueCheck.new("local_authority_rent_value_check", nil, self), + (first_let_questions unless form.start_year_2025_or_later?), number_of_times_relet, Form::Lettings::Pages::PropertyUnitType.new(nil, nil, self), 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::RentValueCheck.new("beds_rent_value_check", nil, self, check_answers_card_number: 0), + Form::Lettings::Pages::RentValueCheck.new("beds_rent_value_check", nil, self), Form::Lettings::Pages::VoidDate.new(nil, nil, self), Form::Lettings::Pages::VoidDateValueCheck.new(nil, nil, self), Form::Lettings::Pages::PropertyMajorRepairs.new(nil, nil, self), @@ -52,6 +50,15 @@ class Form::Lettings::Subsections::PropertyInformation < ::Form::Subsection Form::Lettings::Pages::PropertyNumberOfTimesRelet.new(nil, nil, self) unless form.start_year_2024_or_later? end + def first_let_questions + [ + Form::Lettings::Pages::FirstTimePropertyLetAsSocialHousing.new(nil, nil, self), + Form::Lettings::Pages::PropertyLetType.new(nil, nil, self), + Form::Lettings::Pages::PropertyVacancyReasonNotFirstLet.new(nil, nil, self), + Form::Lettings::Pages::PropertyVacancyReasonFirstLet.new(nil, nil, self), + ] + end + def displayed_in_tasklist?(log) !(log.is_supported_housing? && log.is_renewal?) end diff --git a/spec/models/form/lettings/questions/rsnvac_spec.rb b/spec/models/form/lettings/questions/rsnvac_spec.rb index 6d4145f95..9a63f1b23 100644 --- a/spec/models/form/lettings/questions/rsnvac_spec.rb +++ b/spec/models/form/lettings/questions/rsnvac_spec.rb @@ -76,10 +76,6 @@ RSpec.describe Form::Lettings::Questions::Rsnvac, type: :model do end end - it "has the correct check_answers_card_number" do - expect(question.check_answers_card_number).to eq(0) - end - context "with 2024/25 form" do let(:form) { instance_double(Form, start_date: Time.zone.local(2024, 4, 1)) } diff --git a/spec/models/form/lettings/questions/voiddate_spec.rb b/spec/models/form/lettings/questions/voiddate_spec.rb index 639501c42..730e3da4b 100644 --- a/spec/models/form/lettings/questions/voiddate_spec.rb +++ b/spec/models/form/lettings/questions/voiddate_spec.rb @@ -15,10 +15,6 @@ RSpec.describe Form::Lettings::Questions::Voiddate, type: :model do expect(question.id).to eq("voiddate") end - it "has the correct check_answers_card_number" do - expect(question.check_answers_card_number).to eq(0) - end - it "has the correct question_number" do expect(question.question_number).to eq(23) end diff --git a/spec/models/form/lettings/subsections/property_information_spec.rb b/spec/models/form/lettings/subsections/property_information_spec.rb index 0d3a4e99b..e0e9a61ae 100644 --- a/spec/models/form/lettings/subsections/property_information_spec.rb +++ b/spec/models/form/lettings/subsections/property_information_spec.rb @@ -101,6 +101,10 @@ RSpec.describe Form::Lettings::Subsections::PropertyInformation, type: :model do it "has correct pages" do expect(property_information.pages.map(&:id)).to eq( %w[ + first_time_property_let_as_social_housing + property_let_type + property_vacancy_reason_not_first_let + property_vacancy_reason_first_let uprn uprn_confirmation address_matcher @@ -109,10 +113,6 @@ RSpec.describe Form::Lettings::Subsections::PropertyInformation, type: :model do address property_local_authority local_authority_rent_value_check - first_time_property_let_as_social_housing - property_let_type - property_vacancy_reason_not_first_let - property_vacancy_reason_first_let property_unit_type property_building_type property_wheelchair_accessible