diff --git a/app/models/form/sales/pages/not_retired_value_check.rb b/app/models/form/sales/pages/not_retired_value_check.rb new file mode 100644 index 000000000..193aa6e7d --- /dev/null +++ b/app/models/form/sales/pages/not_retired_value_check.rb @@ -0,0 +1,25 @@ +class Form::Sales::Pages::NotRetiredValueCheck < Form::Sales::Pages::Person + def initialize(id, hsh, subsection, person_index:) + super + @depends_on = [ + { + "person_#{person_index}_not_retired_over_soft_max_age?" => true, + }, + ] + @person_index = person_index + @title_text = { + "translation" => "soft_validations.retirement.max.title", + } + @informative_text = { + "translation" => "soft_validations.retirement.max.hint_text", + } + end + + def questions + @questions ||= [Form::Sales::Questions::NotRetiredValueCheck.new(nil, nil, self, person_index: @person_index)] + end + + def interruption_screen_question_ids + %W[age#{@person_index} ecstat#{@person_index}] + end +end diff --git a/app/models/form/sales/questions/not_retired_value_check.rb b/app/models/form/sales/questions/not_retired_value_check.rb new file mode 100644 index 000000000..58c95c1bb --- /dev/null +++ b/app/models/form/sales/questions/not_retired_value_check.rb @@ -0,0 +1,24 @@ +class Form::Sales::Questions::NotRetiredValueCheck < ::Form::Question + def initialize(id, hsh, page, person_index:) + super(id, hsh, page) + @id = "retirement_value_check" + @check_answer_label = "Retirement confirmation" + @type = "interruption_screen" + @answer_options = { + "0" => { "value" => "Yes" }, + "1" => { "value" => "No" }, + } + @hidden_in_check_answers = { + "depends_on" => [ + { + "retirement_value_check" => 0, + }, + { + "retirement_value_check" => 1, + }, + ], + } + @check_answers_card_number = person_index + @header = "Are you sure this person isn't retired?" + end +end diff --git a/app/models/form/sales/subsections/household_characteristics.rb b/app/models/form/sales/subsections/household_characteristics.rb index 40e41201b..afbbe4278 100644 --- a/app/models/form/sales/subsections/household_characteristics.rb +++ b/app/models/form/sales/subsections/household_characteristics.rb @@ -14,10 +14,10 @@ class Form::Sales::Subsections::HouseholdCharacteristics < ::Form::Subsection (Form::Sales::Pages::PrivacyNotice.new("privacy_notice", nil, self, joint_purchase: false) unless form.start_year_after_2024?), Form::Sales::Pages::Age1.new(nil, nil, self), Form::Sales::Pages::RetirementValueCheck.new("age_1_retirement_value_check", nil, self, person_index: 1), + (Form::Sales::Pages::NotRetiredValueCheck.new("age_1_not_retired_value_check", nil, self, person_index: 1) if form.start_year_after_2024?), Form::Sales::Pages::OldPersonsSharedOwnershipValueCheck.new("age_1_old_persons_shared_ownership_joint_purchase_value_check", nil, self, joint_purchase: true), Form::Sales::Pages::OldPersonsSharedOwnershipValueCheck.new("age_1_old_persons_shared_ownership_value_check", nil, self, joint_purchase: false), Form::Sales::Pages::GenderIdentity1.new(nil, nil, self), - Form::Sales::Pages::RetirementValueCheck.new("gender_1_retirement_value_check", nil, self, person_index: 1), Form::Sales::Pages::Buyer1EthnicGroup.new(nil, nil, self), Form::Sales::Pages::Buyer1EthnicBackgroundBlack.new(nil, nil, self), Form::Sales::Pages::Buyer1EthnicBackgroundAsian.new(nil, nil, self), @@ -27,6 +27,7 @@ class Form::Sales::Subsections::HouseholdCharacteristics < ::Form::Subsection Form::Sales::Pages::Buyer1Nationality.new(nil, nil, self), Form::Sales::Pages::Buyer1WorkingSituation.new(nil, nil, self), Form::Sales::Pages::RetirementValueCheck.new("working_situation_1_retirement_value_check", nil, self, person_index: 1), + (Form::Sales::Pages::NotRetiredValueCheck.new("working_situation_1_not_retired_value_check", nil, self, person_index: 1) if form.start_year_after_2024?), Form::Sales::Pages::Buyer1IncomeMinValueCheck.new("working_situation_buyer_1_income_min_value_check", nil, self), Form::Sales::Pages::Buyer1LiveInProperty.new(nil, nil, self), Form::Sales::Pages::BuyerLiveInValueCheck.new("buyer_1_live_in_property_value_check", nil, self, person_index: 1), @@ -36,12 +37,13 @@ class Form::Sales::Subsections::HouseholdCharacteristics < ::Form::Subsection Form::Sales::Pages::OldPersonsSharedOwnershipValueCheck.new("age_2_old_persons_shared_ownership_joint_purchase_value_check", nil, self, joint_purchase: true), Form::Sales::Pages::OldPersonsSharedOwnershipValueCheck.new("age_2_old_persons_shared_ownership_value_check", nil, self, joint_purchase: false), Form::Sales::Pages::RetirementValueCheck.new("age_2_buyer_retirement_value_check", nil, self, person_index: 2), + (Form::Sales::Pages::NotRetiredValueCheck.new("age_2_buyer_not_retired_value_check", nil, self, person_index: 2) if form.start_year_after_2024?), Form::Sales::Pages::PersonStudentNotChildValueCheck.new("buyer_2_age_student_not_child_value_check", nil, self, person_index: 2), Form::Sales::Pages::GenderIdentity2.new(nil, nil, self), - Form::Sales::Pages::RetirementValueCheck.new("gender_2_buyer_retirement_value_check", nil, self, person_index: 2), buyer_2_ethnicity_nationality_pages, Form::Sales::Pages::Buyer2WorkingSituation.new(nil, nil, self), Form::Sales::Pages::RetirementValueCheck.new("working_situation_2_retirement_value_check_joint_purchase", nil, self, person_index: 2), + (Form::Sales::Pages::NotRetiredValueCheck.new("working_situation_2_not_retired_value_check_joint_purchase", nil, self, person_index: 2) if form.start_year_after_2024?), Form::Sales::Pages::Buyer2IncomeMinValueCheck.new("working_situation_buyer_2_income_min_value_check", nil, self), Form::Sales::Pages::PersonStudentNotChildValueCheck.new("buyer_2_working_situation_student_not_child_value_check", nil, self, person_index: 2), Form::Sales::Pages::Buyer2LiveInProperty.new(nil, nil, self), @@ -55,12 +57,13 @@ class Form::Sales::Subsections::HouseholdCharacteristics < ::Form::Subsection Form::Sales::Pages::PersonStudentNotChildValueCheck.new("relationship_2_student_not_child_value_check", nil, self, person_index: 2), Form::Sales::Pages::PersonAge.new("person_2_age", nil, self, person_index: 2), Form::Sales::Pages::RetirementValueCheck.new("age_2_retirement_value_check", nil, self, person_index: 2), + (Form::Sales::Pages::NotRetiredValueCheck.new("age_2_not_retired_value_check", nil, self, person_index: 2) if form.start_year_after_2024?), Form::Sales::Pages::PersonStudentNotChildValueCheck.new("age_2_student_not_child_value_check", nil, self, person_index: 2), (Form::Sales::Pages::PartnerUnder16ValueCheck.new("age_2_partner_under_16_value_check", nil, self, person_index: 2) if form.start_year_after_2024?), Form::Sales::Pages::PersonGenderIdentity.new("person_2_gender_identity", nil, self, person_index: 2), - Form::Sales::Pages::RetirementValueCheck.new("gender_2_retirement_value_check", nil, self, person_index: 2), Form::Sales::Pages::PersonWorkingSituation.new("person_2_working_situation", nil, self, person_index: 2), Form::Sales::Pages::RetirementValueCheck.new("working_situation_2_retirement_value_check", nil, self, person_index: 2), + (Form::Sales::Pages::NotRetiredValueCheck.new("working_situation_2_not_retired_value_check", nil, self, person_index: 2) if form.start_year_after_2024?), Form::Sales::Pages::PersonStudentNotChildValueCheck.new("working_situation_2_student_not_child_value_check", nil, self, person_index: 2), Form::Sales::Pages::PersonKnown.new("person_3_known", nil, self, person_index: 3), Form::Sales::Pages::PersonRelationshipToBuyer1.new("person_3_relationship_to_buyer_1", nil, self, person_index: 3), @@ -69,12 +72,13 @@ class Form::Sales::Subsections::HouseholdCharacteristics < ::Form::Subsection Form::Sales::Pages::PersonStudentNotChildValueCheck.new("relationship_3_student_not_child_value_check", nil, self, person_index: 3), Form::Sales::Pages::PersonAge.new("person_3_age", nil, self, person_index: 3), Form::Sales::Pages::RetirementValueCheck.new("age_3_retirement_value_check", nil, self, person_index: 3), + (Form::Sales::Pages::NotRetiredValueCheck.new("age_3_not_retired_value_check", nil, self, person_index: 3) if form.start_year_after_2024?), Form::Sales::Pages::PersonStudentNotChildValueCheck.new("age_3_student_not_child_value_check", nil, self, person_index: 3), (Form::Sales::Pages::PartnerUnder16ValueCheck.new("age_3_partner_under_16_value_check", nil, self, person_index: 3) if form.start_year_after_2024?), Form::Sales::Pages::PersonGenderIdentity.new("person_3_gender_identity", nil, self, person_index: 3), - Form::Sales::Pages::RetirementValueCheck.new("gender_3_retirement_value_check", nil, self, person_index: 3), Form::Sales::Pages::PersonWorkingSituation.new("person_3_working_situation", nil, self, person_index: 3), Form::Sales::Pages::RetirementValueCheck.new("working_situation_3_retirement_value_check", nil, self, person_index: 3), + (Form::Sales::Pages::NotRetiredValueCheck.new("working_situation_3_not_retired_value_check", nil, self, person_index: 3) if form.start_year_after_2024?), Form::Sales::Pages::PersonStudentNotChildValueCheck.new("working_situation_3_student_not_child_value_check", nil, self, person_index: 3), Form::Sales::Pages::PersonKnown.new("person_4_known", nil, self, person_index: 4), Form::Sales::Pages::PersonRelationshipToBuyer1.new("person_4_relationship_to_buyer_1", nil, self, person_index: 4), @@ -83,12 +87,13 @@ class Form::Sales::Subsections::HouseholdCharacteristics < ::Form::Subsection Form::Sales::Pages::PersonStudentNotChildValueCheck.new("relationship_4_student_not_child_value_check", nil, self, person_index: 4), Form::Sales::Pages::PersonAge.new("person_4_age", nil, self, person_index: 4), Form::Sales::Pages::RetirementValueCheck.new("age_4_retirement_value_check", nil, self, person_index: 4), + (Form::Sales::Pages::NotRetiredValueCheck.new("age_4_not_retired_value_check", nil, self, person_index: 4) if form.start_year_after_2024?), Form::Sales::Pages::PersonStudentNotChildValueCheck.new("age_4_student_not_child_value_check", nil, self, person_index: 4), (Form::Sales::Pages::PartnerUnder16ValueCheck.new("age_4_partner_under_16_value_check", nil, self, person_index: 4) if form.start_year_after_2024?), Form::Sales::Pages::PersonGenderIdentity.new("person_4_gender_identity", nil, self, person_index: 4), - Form::Sales::Pages::RetirementValueCheck.new("gender_4_retirement_value_check", nil, self, person_index: 4), Form::Sales::Pages::PersonWorkingSituation.new("person_4_working_situation", nil, self, person_index: 4), Form::Sales::Pages::RetirementValueCheck.new("working_situation_4_retirement_value_check", nil, self, person_index: 4), + (Form::Sales::Pages::NotRetiredValueCheck.new("working_situation_4_not_retired_value_check", nil, self, person_index: 4) if form.start_year_after_2024?), Form::Sales::Pages::PersonStudentNotChildValueCheck.new("working_situation_4_student_not_child_value_check", nil, self, person_index: 4), Form::Sales::Pages::PersonKnown.new("person_5_known", nil, self, person_index: 5), Form::Sales::Pages::PersonRelationshipToBuyer1.new("person_5_relationship_to_buyer_1", nil, self, person_index: 5), @@ -97,12 +102,13 @@ class Form::Sales::Subsections::HouseholdCharacteristics < ::Form::Subsection Form::Sales::Pages::PersonStudentNotChildValueCheck.new("relationship_5_student_not_child_value_check", nil, self, person_index: 5), Form::Sales::Pages::PersonAge.new("person_5_age", nil, self, person_index: 5), Form::Sales::Pages::RetirementValueCheck.new("age_5_retirement_value_check", nil, self, person_index: 5), + (Form::Sales::Pages::NotRetiredValueCheck.new("age_5_not_retired_value_check", nil, self, person_index: 5) if form.start_year_after_2024?), Form::Sales::Pages::PersonStudentNotChildValueCheck.new("age_5_student_not_child_value_check", nil, self, person_index: 5), (Form::Sales::Pages::PartnerUnder16ValueCheck.new("age_5_partner_under_16_value_check", nil, self, person_index: 5) if form.start_year_after_2024?), Form::Sales::Pages::PersonGenderIdentity.new("person_5_gender_identity", nil, self, person_index: 5), - Form::Sales::Pages::RetirementValueCheck.new("gender_5_retirement_value_check", nil, self, person_index: 5), Form::Sales::Pages::PersonWorkingSituation.new("person_5_working_situation", nil, self, person_index: 5), Form::Sales::Pages::RetirementValueCheck.new("working_situation_5_retirement_value_check", nil, self, person_index: 5), + (Form::Sales::Pages::NotRetiredValueCheck.new("working_situation_5_not_retired_value_check", nil, self, person_index: 5) if form.start_year_after_2024?), Form::Sales::Pages::PersonStudentNotChildValueCheck.new("working_situation_5_student_not_child_value_check", nil, self, person_index: 5), Form::Sales::Pages::PersonKnown.new("person_6_known", nil, self, person_index: 6), Form::Sales::Pages::PersonRelationshipToBuyer1.new("person_6_relationship_to_buyer_1", nil, self, person_index: 6), @@ -111,12 +117,13 @@ class Form::Sales::Subsections::HouseholdCharacteristics < ::Form::Subsection Form::Sales::Pages::PersonStudentNotChildValueCheck.new("relationship_6_student_not_child_value_check", nil, self, person_index: 6), Form::Sales::Pages::PersonAge.new("person_6_age", nil, self, person_index: 6), Form::Sales::Pages::RetirementValueCheck.new("age_6_retirement_value_check", nil, self, person_index: 6), + (Form::Sales::Pages::NotRetiredValueCheck.new("age_6_not_retired_value_check", nil, self, person_index: 6) if form.start_year_after_2024?), Form::Sales::Pages::PersonStudentNotChildValueCheck.new("age_6_student_not_child_value_check", nil, self, person_index: 6), (Form::Sales::Pages::PartnerUnder16ValueCheck.new("age_6_partner_under_16_value_check", nil, self, person_index: 6) if form.start_year_after_2024?), Form::Sales::Pages::PersonGenderIdentity.new("person_6_gender_identity", nil, self, person_index: 6), - Form::Sales::Pages::RetirementValueCheck.new("gender_6_retirement_value_check", nil, self, person_index: 6), Form::Sales::Pages::PersonWorkingSituation.new("person_6_working_situation", nil, self, person_index: 6), Form::Sales::Pages::RetirementValueCheck.new("working_situation_6_retirement_value_check", nil, self, person_index: 6), + (Form::Sales::Pages::NotRetiredValueCheck.new("working_situation_6_not_retired_value_check", nil, self, person_index: 6) if form.start_year_after_2024?), Form::Sales::Pages::PersonStudentNotChildValueCheck.new("working_situation_6_student_not_child_value_check", nil, self, person_index: 6), ].flatten.compact end diff --git a/lib/tasks/recalculate_status_after_sales_over_retirement_age_validation.rake b/lib/tasks/recalculate_status_after_sales_over_retirement_age_validation.rake new file mode 100644 index 000000000..e827e1c10 --- /dev/null +++ b/lib/tasks/recalculate_status_after_sales_over_retirement_age_validation.rake @@ -0,0 +1,20 @@ +desc "Recalculates status for 2024 logs that will trigger new sales over retirement age soft validation" +task recalculate_status_over_retirement: :environment do + validation_trigger_condition = "(ecstat1 != 5 AND age1 > 66) OR (ecstat2 != 5 AND age2 > 66) OR (ecstat3 != 5 AND age3 > 66) OR (ecstat4 != 5 AND age4 > 66) OR (ecstat5 != 5 AND age5 > 66) OR (ecstat6 != 5 AND age6 > 66)" + SalesLog.filter_by_year(2024).where(status: "pending", status_cache: "completed").where(validation_trigger_condition).find_each do |log| + log.status_cache = log.calculate_status + log.skip_update_status = true + + unless log.save + Rails.logger.info "Could not save changes to pending sales log #{log.id}" + end + end + + SalesLog.filter_by_year(2024).where(status: "completed").where(validation_trigger_condition).find_each do |log| + log.status = log.calculate_status + + unless log.save + Rails.logger.info "Could not save changes to sales log #{log.id}" + end + end +end diff --git a/spec/lib/tasks/recalculate_status_after_sales_over_retirement_age_validation_spec.rb b/spec/lib/tasks/recalculate_status_after_sales_over_retirement_age_validation_spec.rb new file mode 100644 index 000000000..b76380f90 --- /dev/null +++ b/spec/lib/tasks/recalculate_status_after_sales_over_retirement_age_validation_spec.rb @@ -0,0 +1,55 @@ +require "rails_helper" +require "rake" + +RSpec.describe "recalculate_status_after_sales_over_retirement_age_validation" do + describe ":recalculate_status_over_retirement", type: :task do + subject(:task) { Rake::Task["recalculate_status_over_retirement"] } + + before do + Rake.application.rake_require("tasks/recalculate_status_after_sales_over_retirement_age_validation") + Rake::Task.define_task(:environment) + task.reenable + end + + context "when the rake task is run" do + context "and there is a completed sales log that trips the validation" do + let(:log) { create(:sales_log, :completed, ecstat1: 1, age1: 67) } + + before do + log.status = "completed" + log.skip_update_status = true + log.save! + end + + it "sets the log to in progress" do + task.invoke + log.reload + expect(log.status).to eq("in_progress") + end + end + + context "and there is a pending sales log that trips the validation" do + let(:log) { create(:sales_log, :completed, ecstat2: 1, age2: 70) } + + before do + log.status = "pending" + log.status_cache = "completed" + log.skip_update_status = true + log.save! + end + + it "updates the status cache" do + task.invoke + log.reload + expect(log.status_cache).to eq("in_progress") + end + + it "does not change the log status" do + task.invoke + log.reload + expect(log.status).to eq("pending") + end + end + end + end +end diff --git a/spec/models/form/sales/subsections/household_characteristics_spec.rb b/spec/models/form/sales/subsections/household_characteristics_spec.rb index be78f91d3..7c6546d79 100644 --- a/spec/models/form/sales/subsections/household_characteristics_spec.rb +++ b/spec/models/form/sales/subsections/household_characteristics_spec.rb @@ -34,7 +34,6 @@ RSpec.describe Form::Sales::Subsections::HouseholdCharacteristics, type: :model age_1_old_persons_shared_ownership_joint_purchase_value_check age_1_old_persons_shared_ownership_value_check buyer_1_gender_identity - gender_1_retirement_value_check buyer_1_ethnic_group buyer_1_ethnic_background_black buyer_1_ethnic_background_asian @@ -55,7 +54,6 @@ RSpec.describe Form::Sales::Subsections::HouseholdCharacteristics, type: :model age_2_buyer_retirement_value_check buyer_2_age_student_not_child_value_check buyer_2_gender_identity - gender_2_buyer_retirement_value_check buyer_2_working_situation working_situation_2_retirement_value_check_joint_purchase working_situation_buyer_2_income_min_value_check @@ -71,7 +69,6 @@ RSpec.describe Form::Sales::Subsections::HouseholdCharacteristics, type: :model age_2_retirement_value_check age_2_student_not_child_value_check person_2_gender_identity - gender_2_retirement_value_check person_2_working_situation working_situation_2_retirement_value_check working_situation_2_student_not_child_value_check @@ -82,7 +79,6 @@ RSpec.describe Form::Sales::Subsections::HouseholdCharacteristics, type: :model age_3_retirement_value_check age_3_student_not_child_value_check person_3_gender_identity - gender_3_retirement_value_check person_3_working_situation working_situation_3_retirement_value_check working_situation_3_student_not_child_value_check @@ -93,7 +89,6 @@ RSpec.describe Form::Sales::Subsections::HouseholdCharacteristics, type: :model age_4_retirement_value_check age_4_student_not_child_value_check person_4_gender_identity - gender_4_retirement_value_check person_4_working_situation working_situation_4_retirement_value_check working_situation_4_student_not_child_value_check @@ -104,7 +99,6 @@ RSpec.describe Form::Sales::Subsections::HouseholdCharacteristics, type: :model age_5_retirement_value_check age_5_student_not_child_value_check person_5_gender_identity - gender_5_retirement_value_check person_5_working_situation working_situation_5_retirement_value_check working_situation_5_student_not_child_value_check @@ -115,7 +109,6 @@ RSpec.describe Form::Sales::Subsections::HouseholdCharacteristics, type: :model age_6_retirement_value_check age_6_student_not_child_value_check person_6_gender_identity - gender_6_retirement_value_check person_6_working_situation working_situation_6_retirement_value_check working_situation_6_student_not_child_value_check @@ -142,7 +135,6 @@ RSpec.describe Form::Sales::Subsections::HouseholdCharacteristics, type: :model age_1_old_persons_shared_ownership_joint_purchase_value_check age_1_old_persons_shared_ownership_value_check buyer_1_gender_identity - gender_1_retirement_value_check buyer_1_ethnic_group buyer_1_ethnic_background_black buyer_1_ethnic_background_asian @@ -163,7 +155,6 @@ RSpec.describe Form::Sales::Subsections::HouseholdCharacteristics, type: :model age_2_buyer_retirement_value_check buyer_2_age_student_not_child_value_check buyer_2_gender_identity - gender_2_buyer_retirement_value_check buyer_2_ethnic_group buyer_2_ethnic_background_black buyer_2_ethnic_background_asian @@ -186,7 +177,6 @@ RSpec.describe Form::Sales::Subsections::HouseholdCharacteristics, type: :model age_2_retirement_value_check age_2_student_not_child_value_check person_2_gender_identity - gender_2_retirement_value_check person_2_working_situation working_situation_2_retirement_value_check working_situation_2_student_not_child_value_check @@ -197,7 +187,6 @@ RSpec.describe Form::Sales::Subsections::HouseholdCharacteristics, type: :model age_3_retirement_value_check age_3_student_not_child_value_check person_3_gender_identity - gender_3_retirement_value_check person_3_working_situation working_situation_3_retirement_value_check working_situation_3_student_not_child_value_check @@ -208,7 +197,6 @@ RSpec.describe Form::Sales::Subsections::HouseholdCharacteristics, type: :model age_4_retirement_value_check age_4_student_not_child_value_check person_4_gender_identity - gender_4_retirement_value_check person_4_working_situation working_situation_4_retirement_value_check working_situation_4_student_not_child_value_check @@ -219,7 +207,6 @@ RSpec.describe Form::Sales::Subsections::HouseholdCharacteristics, type: :model age_5_retirement_value_check age_5_student_not_child_value_check person_5_gender_identity - gender_5_retirement_value_check person_5_working_situation working_situation_5_retirement_value_check working_situation_5_student_not_child_value_check @@ -230,7 +217,6 @@ RSpec.describe Form::Sales::Subsections::HouseholdCharacteristics, type: :model age_6_retirement_value_check age_6_student_not_child_value_check person_6_gender_identity - gender_6_retirement_value_check person_6_working_situation working_situation_6_retirement_value_check working_situation_6_student_not_child_value_check @@ -250,10 +236,10 @@ RSpec.describe Form::Sales::Subsections::HouseholdCharacteristics, type: :model %w[ buyer_1_age age_1_retirement_value_check + age_1_not_retired_value_check age_1_old_persons_shared_ownership_joint_purchase_value_check age_1_old_persons_shared_ownership_value_check buyer_1_gender_identity - gender_1_retirement_value_check buyer_1_ethnic_group buyer_1_ethnic_background_black buyer_1_ethnic_background_asian @@ -263,6 +249,7 @@ RSpec.describe Form::Sales::Subsections::HouseholdCharacteristics, type: :model buyer_1_nationality buyer_1_working_situation working_situation_1_retirement_value_check + working_situation_1_not_retired_value_check working_situation_buyer_1_income_min_value_check buyer_1_live_in_property buyer_1_live_in_property_value_check @@ -272,9 +259,9 @@ RSpec.describe Form::Sales::Subsections::HouseholdCharacteristics, type: :model age_2_old_persons_shared_ownership_joint_purchase_value_check age_2_old_persons_shared_ownership_value_check age_2_buyer_retirement_value_check + age_2_buyer_not_retired_value_check buyer_2_age_student_not_child_value_check buyer_2_gender_identity - gender_2_buyer_retirement_value_check buyer_2_ethnic_group buyer_2_ethnic_background_black buyer_2_ethnic_background_asian @@ -284,6 +271,7 @@ RSpec.describe Form::Sales::Subsections::HouseholdCharacteristics, type: :model buyer_2_nationality buyer_2_working_situation working_situation_2_retirement_value_check_joint_purchase + working_situation_2_not_retired_value_check_joint_purchase working_situation_buyer_2_income_min_value_check buyer_2_working_situation_student_not_child_value_check buyer_2_live_in_property @@ -297,12 +285,13 @@ RSpec.describe Form::Sales::Subsections::HouseholdCharacteristics, type: :model relationship_2_student_not_child_value_check person_2_age age_2_retirement_value_check + age_2_not_retired_value_check age_2_student_not_child_value_check age_2_partner_under_16_value_check person_2_gender_identity - gender_2_retirement_value_check person_2_working_situation working_situation_2_retirement_value_check + working_situation_2_not_retired_value_check working_situation_2_student_not_child_value_check person_3_known person_3_relationship_to_buyer_1 @@ -311,12 +300,13 @@ RSpec.describe Form::Sales::Subsections::HouseholdCharacteristics, type: :model relationship_3_student_not_child_value_check person_3_age age_3_retirement_value_check + age_3_not_retired_value_check age_3_student_not_child_value_check age_3_partner_under_16_value_check person_3_gender_identity - gender_3_retirement_value_check person_3_working_situation working_situation_3_retirement_value_check + working_situation_3_not_retired_value_check working_situation_3_student_not_child_value_check person_4_known person_4_relationship_to_buyer_1 @@ -325,12 +315,13 @@ RSpec.describe Form::Sales::Subsections::HouseholdCharacteristics, type: :model relationship_4_student_not_child_value_check person_4_age age_4_retirement_value_check + age_4_not_retired_value_check age_4_student_not_child_value_check age_4_partner_under_16_value_check person_4_gender_identity - gender_4_retirement_value_check person_4_working_situation working_situation_4_retirement_value_check + working_situation_4_not_retired_value_check working_situation_4_student_not_child_value_check person_5_known person_5_relationship_to_buyer_1 @@ -339,12 +330,13 @@ RSpec.describe Form::Sales::Subsections::HouseholdCharacteristics, type: :model relationship_5_student_not_child_value_check person_5_age age_5_retirement_value_check + age_5_not_retired_value_check age_5_student_not_child_value_check age_5_partner_under_16_value_check person_5_gender_identity - gender_5_retirement_value_check person_5_working_situation working_situation_5_retirement_value_check + working_situation_5_not_retired_value_check working_situation_5_student_not_child_value_check person_6_known person_6_relationship_to_buyer_1 @@ -353,12 +345,13 @@ RSpec.describe Form::Sales::Subsections::HouseholdCharacteristics, type: :model relationship_6_student_not_child_value_check person_6_age age_6_retirement_value_check + age_6_not_retired_value_check age_6_student_not_child_value_check age_6_partner_under_16_value_check person_6_gender_identity - gender_6_retirement_value_check person_6_working_situation working_situation_6_retirement_value_check + working_situation_6_not_retired_value_check working_situation_6_student_not_child_value_check ], )