diff --git a/app/models/form/lettings/questions/person_relationship.rb b/app/models/form/lettings/questions/person_relationship.rb index 118211c9d..c20ec9f2c 100644 --- a/app/models/form/lettings/questions/person_relationship.rb +++ b/app/models/form/lettings/questions/person_relationship.rb @@ -7,21 +7,33 @@ class Form::Lettings::Questions::PersonRelationship < ::Form::Question @type = "radio" @check_answers_card_number = person_index @hint_text = "" - @answer_options = ANSWER_OPTIONS + @answer_options = answer_options @person_index = person_index @question_number = question_number end - ANSWER_OPTIONS = { - "P" => { "value" => "Partner" }, - "C" => { - "value" => "Child", - "hint" => "Must be eligible for child benefit: under age 16 or under 20 if still in full-time education.", - }, - "X" => { "value" => "Other" }, - "divider" => { "value" => true }, - "R" => { "value" => "Person prefers not to say" }, - }.freeze + def answer_options + if form.start_year_after_2024? + { + "P" => { "value" => "Partner" }, + "C" => { "value" => "Child" }, + "X" => { "value" => "Other" }, + "divider" => { "value" => true }, + "R" => { "value" => "Person prefers not to say" }, + } + else + { + "P" => { "value" => "Partner" }, + "C" => { + "value" => "Child", + "hint" => "Must be eligible for child benefit: under age 16 or under 20 if still in full-time education.", + }, + "X" => { "value" => "Other" }, + "divider" => { "value" => true }, + "R" => { "value" => "Person prefers not to say" }, + } + end + end def question_number base_question_number = case form.start_date.year diff --git a/app/models/form/sales/questions/buyer2_relationship_to_buyer1.rb b/app/models/form/sales/questions/buyer2_relationship_to_buyer1.rb index b6906e845..f8acf75aa 100644 --- a/app/models/form/sales/questions/buyer2_relationship_to_buyer1.rb +++ b/app/models/form/sales/questions/buyer2_relationship_to_buyer1.rb @@ -5,7 +5,7 @@ class Form::Sales::Questions::Buyer2RelationshipToBuyer1 < ::Form::Question @check_answer_label = "Buyer 2's relationship to buyer 1" @header = "What is buyer 2's relationship to buyer 1?" @type = "radio" - @answer_options = ANSWER_OPTIONS + @answer_options = answer_options @check_answers_card_number = 2 @inferred_check_answers_value = [{ "condition" => { @@ -16,12 +16,24 @@ class Form::Sales::Questions::Buyer2RelationshipToBuyer1 < ::Form::Question @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] end - ANSWER_OPTIONS = { - "P" => { "value" => "Partner" }, - "C" => { "value" => "Child", "hint" => "Must be eligible for child benefit, aged under 16 or under 20 if still in full-time education." }, - "X" => { "value" => "Other" }, - "R" => { "value" => "Buyer prefers not to say" }, - }.freeze + def answer_options + if form.start_year_after_2024? + + { + "P" => { "value" => "Partner" }, + "C" => { "value" => "Child" }, + "X" => { "value" => "Other" }, + "R" => { "value" => "Buyer prefers not to say" }, + } + else + { + "P" => { "value" => "Partner" }, + "C" => { "value" => "Child", "hint" => "Must be eligible for child benefit, aged under 16 or under 20 if still in full-time education." }, + "X" => { "value" => "Other" }, + "R" => { "value" => "Buyer prefers not to say" }, + } + end + end QUESTION_NUMBER_FROM_YEAR = { 2023 => 27, 2024 => 29 }.freeze end diff --git a/app/models/form/sales/questions/person_relationship_to_buyer_1.rb b/app/models/form/sales/questions/person_relationship_to_buyer_1.rb index 872b46d4f..3fe33cef0 100644 --- a/app/models/form/sales/questions/person_relationship_to_buyer_1.rb +++ b/app/models/form/sales/questions/person_relationship_to_buyer_1.rb @@ -4,7 +4,7 @@ class Form::Sales::Questions::PersonRelationshipToBuyer1 < ::Form::Question @check_answer_label = "Person #{person_index}’s relationship to Buyer 1" @header = "What is Person #{person_index}’s relationship to Buyer 1?" @type = "radio" - @answer_options = ANSWER_OPTIONS + @answer_options = answer_options @check_answers_card_number = person_index @inferred_check_answers_value = [{ "condition" => { @@ -16,12 +16,23 @@ class Form::Sales::Questions::PersonRelationshipToBuyer1 < ::Form::Question @question_number = question_number end - ANSWER_OPTIONS = { - "P" => { "value" => "Partner" }, - "C" => { "value" => "Child", "hint" => "Must be eligible for child benefit, aged under 16 or under 20 if still in full-time education." }, - "X" => { "value" => "Other" }, - "R" => { "value" => "Person prefers not to say" }, - }.freeze + def answer_options + if form.start_year_after_2024? + { + "P" => { "value" => "Partner" }, + "C" => { "value" => "Child" }, + "X" => { "value" => "Other" }, + "R" => { "value" => "Person prefers not to say" }, + } + else + { + "P" => { "value" => "Partner" }, + "C" => { "value" => "Child", "hint" => "Must be eligible for child benefit, aged under 16 or under 20 if still in full-time education." }, + "X" => { "value" => "Other" }, + "R" => { "value" => "Person prefers not to say" }, + } + end + end def question_number base_question_number = case form.start_date.year diff --git a/spec/models/form/lettings/pages/person_relationship_to_lead_spec.rb b/spec/models/form/lettings/pages/person_relationship_to_lead_spec.rb index 6bf4558af..a73e94482 100644 --- a/spec/models/form/lettings/pages/person_relationship_to_lead_spec.rb +++ b/spec/models/form/lettings/pages/person_relationship_to_lead_spec.rb @@ -4,7 +4,7 @@ RSpec.describe Form::Lettings::Pages::PersonRelationshipToLead, type: :model do subject(:page) { described_class.new(nil, page_definition, subsection, person_index:) } let(:page_definition) { nil } - let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2024, 4, 1))) } + let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2024, 4, 1), start_year_after_2024?: false)) } let(:person_index) { 2 } it "has correct subsection" do diff --git a/spec/models/form/lettings/questions/person_relationship_spec.rb b/spec/models/form/lettings/questions/person_relationship_spec.rb index 31b2c402e..51975e719 100644 --- a/spec/models/form/lettings/questions/person_relationship_spec.rb +++ b/spec/models/form/lettings/questions/person_relationship_spec.rb @@ -4,7 +4,7 @@ RSpec.describe Form::Lettings::Questions::PersonRelationship, type: :model do subject(:question) { described_class.new(nil, question_definition, page, person_index:) } let(:question_definition) { nil } - let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 4)))) } + let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 4), start_year_after_2024?: false))) } let(:person_index) { 2 } it "has correct page" do diff --git a/spec/models/form/sales/pages/buyer2_relationship_to_buyer1_spec.rb b/spec/models/form/sales/pages/buyer2_relationship_to_buyer1_spec.rb index d7fd457d9..4a7745bb0 100644 --- a/spec/models/form/sales/pages/buyer2_relationship_to_buyer1_spec.rb +++ b/spec/models/form/sales/pages/buyer2_relationship_to_buyer1_spec.rb @@ -5,7 +5,7 @@ RSpec.describe Form::Sales::Pages::Buyer2RelationshipToBuyer1, type: :model do let(:page_id) { nil } let(:page_definition) { nil } - let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1))) } + let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1), start_year_after_2024?: false)) } it "has correct subsection" do expect(page.subsection).to eq(subsection) diff --git a/spec/models/form/sales/pages/person_relationship_to_buyer1_spec.rb b/spec/models/form/sales/pages/person_relationship_to_buyer1_spec.rb index 2efad476a..0fb5503ce 100644 --- a/spec/models/form/sales/pages/person_relationship_to_buyer1_spec.rb +++ b/spec/models/form/sales/pages/person_relationship_to_buyer1_spec.rb @@ -4,7 +4,7 @@ RSpec.describe Form::Sales::Pages::PersonRelationshipToBuyer1, type: :model do subject(:page) { described_class.new(page_id, page_definition, subsection, person_index:) } let(:page_definition) { nil } - let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1))) } + let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1), start_year_after_2024?: false)) } let(:person_index) { 1 } let(:page_id) { "person_1_relationship_to_buyer_1" } diff --git a/spec/models/form/sales/questions/buyer2_relationship_to_buyer1_spec.rb b/spec/models/form/sales/questions/buyer2_relationship_to_buyer1_spec.rb index b37ce0e0e..e4cc4af11 100644 --- a/spec/models/form/sales/questions/buyer2_relationship_to_buyer1_spec.rb +++ b/spec/models/form/sales/questions/buyer2_relationship_to_buyer1_spec.rb @@ -5,7 +5,7 @@ RSpec.describe Form::Sales::Questions::Buyer2RelationshipToBuyer1, type: :model let(:question_id) { nil } let(:question_definition) { nil } - let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1)))) } + let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1), start_year_after_2024?: false))) } it "has correct page" do expect(question.page).to eq(page) diff --git a/spec/models/form/sales/questions/person_relationship_to_buyer1_spec.rb b/spec/models/form/sales/questions/person_relationship_to_buyer1_spec.rb index ad0d17034..57914d70d 100644 --- a/spec/models/form/sales/questions/person_relationship_to_buyer1_spec.rb +++ b/spec/models/form/sales/questions/person_relationship_to_buyer1_spec.rb @@ -5,7 +5,7 @@ RSpec.describe Form::Sales::Questions::PersonRelationshipToBuyer1, type: :model let(:question_id) { "relat2" } let(:question_definition) { nil } - let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1)))) } + let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1), start_year_after_2024?: false))) } let(:person_index) { 2 } it "has correct page" do