From 266bf3fda5bd8a481f7b230e4318c306a8e270fa Mon Sep 17 00:00:00 2001 From: kosiakkatrina <54268893+kosiakkatrina@users.noreply.github.com> Date: Mon, 12 Dec 2022 14:19:30 +0000 Subject: [PATCH] Cldc 1627 update age in check answers and put persons on different check answers cards (#1068) * Display person 2, 3, 4 age question if their details are known * Infer check answers value for age questions as 'Not known' * Hide age known question in check answers if it is answered yes or no * Add card numbers to household characteristics question * Update gender identity depends on * lint * Add a field to completed sales log in factory * Update person 1 gender identity to depend on the people count * Do not show buyer 2 questions if it is not a joint purchase --- .../form/sales/pages/buyer2_live_in_property.rb | 3 +++ .../sales/pages/buyer2_working_situation.rb | 3 +++ .../form/sales/pages/person1_gender_identity.rb | 10 ++++++---- .../person1_gender_identity_joint_purchase.rb | 10 ++++++---- app/models/form/sales/pages/person2_age.rb | 4 +--- app/models/form/sales/pages/person3_age.rb | 3 +-- app/models/form/sales/pages/person4_age.rb | 2 +- app/models/form/sales/questions/age1.rb | 7 +++++++ app/models/form/sales/questions/age2.rb | 5 +++++ .../form/sales/questions/buyer1_age_known.rb | 13 ++++++++++++- .../questions/buyer1_ethnic_background_arab.rb | 1 + .../questions/buyer1_ethnic_background_asian.rb | 1 + .../questions/buyer1_ethnic_background_black.rb | 1 + .../questions/buyer1_ethnic_background_mixed.rb | 1 + .../questions/buyer1_ethnic_background_white.rb | 1 + .../form/sales/questions/buyer1_ethnic_group.rb | 1 + .../form/sales/questions/buyer1_income.rb | 1 + .../form/sales/questions/buyer1_income_known.rb | 1 + .../sales/questions/buyer1_live_in_property.rb | 1 + .../form/sales/questions/buyer1_mortgage.rb | 1 + .../sales/questions/buyer1_working_situation.rb | 1 + .../form/sales/questions/buyer2_age_known.rb | 11 +++++++++++ .../form/sales/questions/buyer2_income.rb | 1 + .../form/sales/questions/buyer2_income_known.rb | 1 + .../sales/questions/buyer2_live_in_property.rb | 1 + .../questions/buyer2_relationship_to_buyer1.rb | 1 + .../sales/questions/buyer2_working_situation.rb | 1 + .../form/sales/questions/gender_identity1.rb | 1 + .../form/sales/questions/gender_identity2.rb | 1 + app/models/form/sales/questions/nationality1.rb | 1 + .../form/sales/questions/other_nationality1.rb | 1 + app/models/form/sales/questions/person1_age.rb | 5 +++++ .../form/sales/questions/person1_age_known.rb | 4 ++++ app/models/form/sales/questions/person2_age.rb | 5 +++++ .../form/sales/questions/person2_age_known.rb | 6 ++---- .../form/sales/questions/person2_known.rb | 1 + app/models/form/sales/questions/person3_age.rb | 5 +++++ .../form/sales/questions/person3_age_known.rb | 6 ++---- .../form/sales/questions/person3_known.rb | 1 + app/models/form/sales/questions/person4_age.rb | 5 +++++ .../form/sales/questions/person4_age_known.rb | 6 ++---- .../form/sales/questions/person4_known.rb | 1 + spec/factories/sales_log.rb | 1 + .../sales/pages/buyer2_live_in_property_spec.rb | 4 ++++ .../pages/buyer2_working_situation_spec.rb | 4 ++++ ...rson1_gender_identity_joint_purchase_spec.rb | 8 ++++---- .../sales/pages/person1_gender_identity_spec.rb | 10 ++++++---- .../models/form/sales/pages/person2_age_spec.rb | 2 +- .../models/form/sales/pages/person3_age_spec.rb | 2 +- .../models/form/sales/pages/person4_age_spec.rb | 2 +- spec/models/form/sales/questions/age1_spec.rb | 11 +++++++++++ spec/models/form/sales/questions/age2_spec.rb | 13 +++++++++++++ .../sales/questions/buyer1_age_known_spec.rb | 17 ++++++++++++++++- .../buyer1_ethnic_background_arab_spec.rb | 4 ++++ .../buyer1_ethnic_background_asian_spec.rb | 4 ++++ .../buyer1_ethnic_background_black_spec.rb | 4 ++++ .../buyer1_ethnic_background_mixed_spec.rb | 4 ++++ .../buyer1_ethnic_background_white_spec.rb | 4 ++++ .../sales/questions/buyer1_ethnic_group_spec.rb | 4 ++++ .../sales/questions/buyer1_income_known_spec.rb | 4 ++++ .../form/sales/questions/buyer1_income_spec.rb | 4 ++++ .../questions/buyer1_live_in_property_spec.rb | 4 ++++ .../sales/questions/buyer1_mortgage_spec.rb | 4 ++++ .../questions/buyer1_working_situation_spec.rb | 4 ++++ .../sales/questions/buyer2_age_known_spec.rb | 13 +++++++++++++ .../sales/questions/buyer2_income_known_spec.rb | 4 ++++ .../form/sales/questions/buyer2_income_spec.rb | 4 ++++ .../questions/buyer2_live_in_property_spec.rb | 4 ++++ .../buyer2_relationship_to_buyer1_spec.rb | 4 ++++ .../questions/buyer2_working_situation_spec.rb | 4 ++++ .../sales/questions/gender_identity1_spec.rb | 4 ++++ .../sales/questions/gender_identity2_spec.rb | 4 ++++ .../form/sales/questions/nationality1_spec.rb | 4 ++++ .../sales/questions/other_nationality1_spec.rb | 4 ++++ .../sales/questions/person1_age_known_spec.rb | 7 +++++++ .../form/sales/questions/person1_age_spec.rb | 11 +++++++++++ .../sales/questions/person2_age_known_spec.rb | 6 +++++- .../form/sales/questions/person2_age_spec.rb | 11 +++++++++++ .../form/sales/questions/person2_known_spec.rb | 4 ++++ .../sales/questions/person3_age_known_spec.rb | 6 +++++- .../form/sales/questions/person3_age_spec.rb | 11 +++++++++++ .../form/sales/questions/person3_known_spec.rb | 4 ++++ .../sales/questions/person4_age_known_spec.rb | 6 +++++- .../form/sales/questions/person4_age_spec.rb | 11 +++++++++++ .../form/sales/questions/person4_known_spec.rb | 4 ++++ 85 files changed, 342 insertions(+), 42 deletions(-) diff --git a/app/models/form/sales/pages/buyer2_live_in_property.rb b/app/models/form/sales/pages/buyer2_live_in_property.rb index 0d2393503..03b13536f 100644 --- a/app/models/form/sales/pages/buyer2_live_in_property.rb +++ b/app/models/form/sales/pages/buyer2_live_in_property.rb @@ -5,6 +5,9 @@ class Form::Sales::Pages::Buyer2LiveInProperty < ::Form::Page @header = "" @description = "" @subsection = subsection + @depends_on = [{ + "jointpur" => 1, + }] end def questions diff --git a/app/models/form/sales/pages/buyer2_working_situation.rb b/app/models/form/sales/pages/buyer2_working_situation.rb index e445a56c1..83e4468db 100644 --- a/app/models/form/sales/pages/buyer2_working_situation.rb +++ b/app/models/form/sales/pages/buyer2_working_situation.rb @@ -5,6 +5,9 @@ class Form::Sales::Pages::Buyer2WorkingSituation < ::Form::Page @header = "" @description = "" @subsection = subsection + @depends_on = [{ + "jointpur" => 1, + }] end def questions diff --git a/app/models/form/sales/pages/person1_gender_identity.rb b/app/models/form/sales/pages/person1_gender_identity.rb index ec9f8269d..8a5504397 100644 --- a/app/models/form/sales/pages/person1_gender_identity.rb +++ b/app/models/form/sales/pages/person1_gender_identity.rb @@ -5,10 +5,12 @@ class Form::Sales::Pages::Person1GenderIdentity < ::Form::Page @header = "" @description = "" @subsection = subsection - @depends_on = [{ - "jointpur" => 2, - "details_known_2" => 1, - }] + @depends_on = [ + { "hholdcount" => 1, "jointpur" => 2 }, + { "hholdcount" => 2, "jointpur" => 2 }, + { "hholdcount" => 3, "jointpur" => 2 }, + { "hholdcount" => 4, "jointpur" => 2 }, + ] end def questions diff --git a/app/models/form/sales/pages/person1_gender_identity_joint_purchase.rb b/app/models/form/sales/pages/person1_gender_identity_joint_purchase.rb index 24e9f1114..8e714266d 100644 --- a/app/models/form/sales/pages/person1_gender_identity_joint_purchase.rb +++ b/app/models/form/sales/pages/person1_gender_identity_joint_purchase.rb @@ -5,10 +5,12 @@ class Form::Sales::Pages::Person1GenderIdentityJointPurchase < ::Form::Page @header = "" @description = "" @subsection = subsection - @depends_on = [{ - "jointpur" => 1, - "details_known_3" => 1, - }] + @depends_on = [ + { "hholdcount" => 1, "jointpur" => 1 }, + { "hholdcount" => 2, "jointpur" => 1 }, + { "hholdcount" => 3, "jointpur" => 1 }, + { "hholdcount" => 4, "jointpur" => 1 }, + ] end def questions diff --git a/app/models/form/sales/pages/person2_age.rb b/app/models/form/sales/pages/person2_age.rb index 3b300f957..7654d6e46 100644 --- a/app/models/form/sales/pages/person2_age.rb +++ b/app/models/form/sales/pages/person2_age.rb @@ -6,9 +6,7 @@ class Form::Sales::Pages::Person2Age < ::Form::Page @description = "" @subsection = subsection @depends_on = [ - { "hholdcount" => 2, "details_known_2" => 1 }, - { "hholdcount" => 3, "details_known_2" => 1 }, - { "hholdcount" => 4, "details_known_2" => 1 }, + { "details_known_2" => 1 }, ] end diff --git a/app/models/form/sales/pages/person3_age.rb b/app/models/form/sales/pages/person3_age.rb index 0f8635b23..965427e67 100644 --- a/app/models/form/sales/pages/person3_age.rb +++ b/app/models/form/sales/pages/person3_age.rb @@ -6,8 +6,7 @@ class Form::Sales::Pages::Person3Age < ::Form::Page @description = "" @subsection = subsection @depends_on = [ - { "hholdcount" => 3, "details_known_3" => 1 }, - { "hholdcount" => 4, "details_known_3" => 1 }, + { "details_known_3" => 1 }, ] end diff --git a/app/models/form/sales/pages/person4_age.rb b/app/models/form/sales/pages/person4_age.rb index 42d926c2b..282699e44 100644 --- a/app/models/form/sales/pages/person4_age.rb +++ b/app/models/form/sales/pages/person4_age.rb @@ -6,7 +6,7 @@ class Form::Sales::Pages::Person4Age < ::Form::Page @description = "" @subsection = subsection @depends_on = [ - { "hholdcount" => 4, "details_known_4" => 1 }, + { "details_known_4" => 1 }, ] end diff --git a/app/models/form/sales/questions/age1.rb b/app/models/form/sales/questions/age1.rb index 390fba3a6..48dfa7446 100644 --- a/app/models/form/sales/questions/age1.rb +++ b/app/models/form/sales/questions/age1.rb @@ -7,5 +7,12 @@ class Form::Sales::Questions::Age1 < ::Form::Question @type = "numeric" @page = page @width = 2 + @inferred_check_answers_value = { + "condition" => { + "age1_known" => 1, + }, + "value" => "Not known", + } + @check_answers_card_number = 1 end end diff --git a/app/models/form/sales/questions/age2.rb b/app/models/form/sales/questions/age2.rb index 9792bf333..ade402eb6 100644 --- a/app/models/form/sales/questions/age2.rb +++ b/app/models/form/sales/questions/age2.rb @@ -7,5 +7,10 @@ class Form::Sales::Questions::Age2 < ::Form::Question @type = "numeric" @page = page @width = 2 + @inferred_check_answers_value = { + "condition" => { "age2_known" => 1 }, + "value" => "Not known", + } + @check_answers_card_number = 2 end end diff --git a/app/models/form/sales/questions/buyer1_age_known.rb b/app/models/form/sales/questions/buyer1_age_known.rb index 65e021815..f3b0c0938 100644 --- a/app/models/form/sales/questions/buyer1_age_known.rb +++ b/app/models/form/sales/questions/buyer1_age_known.rb @@ -2,7 +2,7 @@ class Form::Sales::Questions::Buyer1AgeKnown < ::Form::Question def initialize(id, hsh, page) super @id = "age1_known" - @check_answer_label = "Buyer 1’s age" + @check_answer_label = "Lead buyer’s age" @header = "Do you know buyer 1’s age?" @type = "radio" @answer_options = ANSWER_OPTIONS @@ -11,6 +11,17 @@ class Form::Sales::Questions::Buyer1AgeKnown < ::Form::Question @conditional_for = { "age1" => [0], } + @hidden_in_check_answers = { + "depends_on" => [ + { + "age1_known" => 0, + }, + { + "age1_known" => 1, + }, + ], + } + @check_answers_card_number = 1 end ANSWER_OPTIONS = { diff --git a/app/models/form/sales/questions/buyer1_ethnic_background_arab.rb b/app/models/form/sales/questions/buyer1_ethnic_background_arab.rb index f6bf163b0..2006eec92 100644 --- a/app/models/form/sales/questions/buyer1_ethnic_background_arab.rb +++ b/app/models/form/sales/questions/buyer1_ethnic_background_arab.rb @@ -8,6 +8,7 @@ class Form::Sales::Questions::Buyer1EthnicBackgroundArab < ::Form::Question @answer_options = ANSWER_OPTIONS @page = page @hint_text = "Buyer 1 is the person in the household who does the most paid work. If it’s a joint purchase and the buyers do the same amount of paid work, buyer 1 is whoever is the oldest." + @check_answers_card_number = 1 end ANSWER_OPTIONS = { diff --git a/app/models/form/sales/questions/buyer1_ethnic_background_asian.rb b/app/models/form/sales/questions/buyer1_ethnic_background_asian.rb index a6b8ea64f..9e61ed0a6 100644 --- a/app/models/form/sales/questions/buyer1_ethnic_background_asian.rb +++ b/app/models/form/sales/questions/buyer1_ethnic_background_asian.rb @@ -8,6 +8,7 @@ class Form::Sales::Questions::Buyer1EthnicBackgroundAsian < ::Form::Question @answer_options = ANSWER_OPTIONS @page = page @hint_text = "Buyer 1 is the person in the household who does the most paid work. If it’s a joint purchase and the buyers do the same amount of paid work, buyer 1 is whoever is the oldest." + @check_answers_card_number = 1 end ANSWER_OPTIONS = { diff --git a/app/models/form/sales/questions/buyer1_ethnic_background_black.rb b/app/models/form/sales/questions/buyer1_ethnic_background_black.rb index 841086ec3..bc9f16dde 100644 --- a/app/models/form/sales/questions/buyer1_ethnic_background_black.rb +++ b/app/models/form/sales/questions/buyer1_ethnic_background_black.rb @@ -8,6 +8,7 @@ class Form::Sales::Questions::Buyer1EthnicBackgroundBlack < ::Form::Question @answer_options = ANSWER_OPTIONS @page = page @hint_text = "Buyer 1 is the person in the household who does the most paid work. If it’s a joint purchase and the buyers do the same amount of paid work, buyer 1 is whoever is the oldest." + @check_answers_card_number = 1 end ANSWER_OPTIONS = { diff --git a/app/models/form/sales/questions/buyer1_ethnic_background_mixed.rb b/app/models/form/sales/questions/buyer1_ethnic_background_mixed.rb index 69451e9e9..c264459c7 100644 --- a/app/models/form/sales/questions/buyer1_ethnic_background_mixed.rb +++ b/app/models/form/sales/questions/buyer1_ethnic_background_mixed.rb @@ -8,6 +8,7 @@ class Form::Sales::Questions::Buyer1EthnicBackgroundMixed < ::Form::Question @answer_options = ANSWER_OPTIONS @page = page @hint_text = "Buyer 1 is the person in the household who does the most paid work. If it’s a joint purchase and the buyers do the same amount of paid work, buyer 1 is whoever is the oldest." + @check_answers_card_number = 1 end ANSWER_OPTIONS = { diff --git a/app/models/form/sales/questions/buyer1_ethnic_background_white.rb b/app/models/form/sales/questions/buyer1_ethnic_background_white.rb index cb9f2918f..52e771191 100644 --- a/app/models/form/sales/questions/buyer1_ethnic_background_white.rb +++ b/app/models/form/sales/questions/buyer1_ethnic_background_white.rb @@ -8,6 +8,7 @@ class Form::Sales::Questions::Buyer1EthnicBackgroundWhite < ::Form::Question @answer_options = ANSWER_OPTIONS @page = page @hint_text = "Buyer 1 is the person in the household who does the most paid work. If it’s a joint purchase and the buyers do the same amount of paid work, buyer 1 is whoever is the oldest." + @check_answers_card_number = 1 end ANSWER_OPTIONS = { diff --git a/app/models/form/sales/questions/buyer1_ethnic_group.rb b/app/models/form/sales/questions/buyer1_ethnic_group.rb index cb1a6da28..85a809aae 100644 --- a/app/models/form/sales/questions/buyer1_ethnic_group.rb +++ b/app/models/form/sales/questions/buyer1_ethnic_group.rb @@ -14,6 +14,7 @@ class Form::Sales::Questions::Buyer1EthnicGroup < ::Form::Question }, "value" => "Prefers not to say", } + @check_answers_card_number = 1 end ANSWER_OPTIONS = { diff --git a/app/models/form/sales/questions/buyer1_income.rb b/app/models/form/sales/questions/buyer1_income.rb index f4e586b39..2b80aec5a 100644 --- a/app/models/form/sales/questions/buyer1_income.rb +++ b/app/models/form/sales/questions/buyer1_income.rb @@ -10,5 +10,6 @@ class Form::Sales::Questions::Buyer1Income < ::Form::Question @step = 1 @width = 5 @prefix = "£" + @check_answers_card_number = 1 end end diff --git a/app/models/form/sales/questions/buyer1_income_known.rb b/app/models/form/sales/questions/buyer1_income_known.rb index 923045ef9..4e7ef182e 100644 --- a/app/models/form/sales/questions/buyer1_income_known.rb +++ b/app/models/form/sales/questions/buyer1_income_known.rb @@ -12,6 +12,7 @@ class Form::Sales::Questions::Buyer1IncomeKnown < ::Form::Question @conditional_for = { "income1" => [0], } + @check_answers_card_number = 1 end ANSWER_OPTIONS = { diff --git a/app/models/form/sales/questions/buyer1_live_in_property.rb b/app/models/form/sales/questions/buyer1_live_in_property.rb index b80736282..31111ce81 100644 --- a/app/models/form/sales/questions/buyer1_live_in_property.rb +++ b/app/models/form/sales/questions/buyer1_live_in_property.rb @@ -8,6 +8,7 @@ class Form::Sales::Questions::Buyer1LiveInProperty < ::Form::Question @answer_options = ANSWER_OPTIONS @page = page @hint_text = "Buyer 1 is the person in the household who does the most paid work. If it’s a joint purchase and the buyers do the same amount of paid work, buyer 1 is whoever is the oldest." + @check_answers_card_number = 1 end ANSWER_OPTIONS = { diff --git a/app/models/form/sales/questions/buyer1_mortgage.rb b/app/models/form/sales/questions/buyer1_mortgage.rb index c524c3495..07499ee32 100644 --- a/app/models/form/sales/questions/buyer1_mortgage.rb +++ b/app/models/form/sales/questions/buyer1_mortgage.rb @@ -7,6 +7,7 @@ class Form::Sales::Questions::Buyer1Mortgage < ::Form::Question @type = "radio" @answer_options = ANSWER_OPTIONS @page = page + @check_answers_card_number = 1 end ANSWER_OPTIONS = { diff --git a/app/models/form/sales/questions/buyer1_working_situation.rb b/app/models/form/sales/questions/buyer1_working_situation.rb index 9710b9512..5b933d794 100644 --- a/app/models/form/sales/questions/buyer1_working_situation.rb +++ b/app/models/form/sales/questions/buyer1_working_situation.rb @@ -8,6 +8,7 @@ class Form::Sales::Questions::Buyer1WorkingSituation < ::Form::Question @answer_options = ANSWER_OPTIONS @page = page @hint_text = "Buyer 1 is the person in the household who does the most paid work. If it's a joint purchase and the buyers do the same amount of paid work, buyer 1 is whoever is the oldest." + @check_answers_card_number = 1 end ANSWER_OPTIONS = { diff --git a/app/models/form/sales/questions/buyer2_age_known.rb b/app/models/form/sales/questions/buyer2_age_known.rb index bec91f63f..d4cd6a777 100644 --- a/app/models/form/sales/questions/buyer2_age_known.rb +++ b/app/models/form/sales/questions/buyer2_age_known.rb @@ -10,6 +10,17 @@ class Form::Sales::Questions::Buyer2AgeKnown < ::Form::Question @conditional_for = { "age2" => [0], } + @hidden_in_check_answers = { + "depends_on" => [ + { + "age2_known" => 0, + }, + { + "age2_known" => 1, + }, + ], + } + @check_answers_card_number = 2 end ANSWER_OPTIONS = { diff --git a/app/models/form/sales/questions/buyer2_income.rb b/app/models/form/sales/questions/buyer2_income.rb index 4abb306a0..8e4d66278 100644 --- a/app/models/form/sales/questions/buyer2_income.rb +++ b/app/models/form/sales/questions/buyer2_income.rb @@ -10,5 +10,6 @@ class Form::Sales::Questions::Buyer2Income < ::Form::Question @step = 1 @width = 5 @prefix = "£" + @check_answers_card_number = 2 end end diff --git a/app/models/form/sales/questions/buyer2_income_known.rb b/app/models/form/sales/questions/buyer2_income_known.rb index f0897f6be..fd312776b 100644 --- a/app/models/form/sales/questions/buyer2_income_known.rb +++ b/app/models/form/sales/questions/buyer2_income_known.rb @@ -12,6 +12,7 @@ class Form::Sales::Questions::Buyer2IncomeKnown < ::Form::Question @conditional_for = { "income2" => [0], } + @check_answers_card_number = 2 end ANSWER_OPTIONS = { diff --git a/app/models/form/sales/questions/buyer2_live_in_property.rb b/app/models/form/sales/questions/buyer2_live_in_property.rb index 060f52afc..654832cfb 100644 --- a/app/models/form/sales/questions/buyer2_live_in_property.rb +++ b/app/models/form/sales/questions/buyer2_live_in_property.rb @@ -8,6 +8,7 @@ class Form::Sales::Questions::Buyer2LiveInProperty < ::Form::Question @hint_text = "" @answer_options = ANSWER_OPTIONS @page = page + @check_answers_card_number = 2 end ANSWER_OPTIONS = { 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 11c9717ba..4564a2381 100644 --- a/app/models/form/sales/questions/buyer2_relationship_to_buyer1.rb +++ b/app/models/form/sales/questions/buyer2_relationship_to_buyer1.rb @@ -8,6 +8,7 @@ class Form::Sales::Questions::Buyer2RelationshipToBuyer1 < ::Form::Question @hint_text = "" @page = page @answer_options = ANSWER_OPTIONS + @check_answers_card_number = 2 end ANSWER_OPTIONS = { diff --git a/app/models/form/sales/questions/buyer2_working_situation.rb b/app/models/form/sales/questions/buyer2_working_situation.rb index 11b587f92..bc9bcbe1a 100644 --- a/app/models/form/sales/questions/buyer2_working_situation.rb +++ b/app/models/form/sales/questions/buyer2_working_situation.rb @@ -8,6 +8,7 @@ class Form::Sales::Questions::Buyer2WorkingSituation < ::Form::Question @hint_text = "" @page = page @answer_options = ANSWER_OPTIONS + @check_answers_card_number = 2 end ANSWER_OPTIONS = { diff --git a/app/models/form/sales/questions/gender_identity1.rb b/app/models/form/sales/questions/gender_identity1.rb index f5b6edbb6..bfc98f3a0 100644 --- a/app/models/form/sales/questions/gender_identity1.rb +++ b/app/models/form/sales/questions/gender_identity1.rb @@ -8,6 +8,7 @@ class Form::Sales::Questions::GenderIdentity1 < ::Form::Question @hint_text = "Buyer 1 is the person in the household who does the most paid work. If it’s a joint purchase and the buyers do the same amount of paid work, buyer 1 is whoever is the oldest." @page = page @answer_options = ANSWER_OPTIONS + @check_answers_card_number = 1 end ANSWER_OPTIONS = { diff --git a/app/models/form/sales/questions/gender_identity2.rb b/app/models/form/sales/questions/gender_identity2.rb index 2c0946edb..8e27c0cb5 100644 --- a/app/models/form/sales/questions/gender_identity2.rb +++ b/app/models/form/sales/questions/gender_identity2.rb @@ -7,6 +7,7 @@ class Form::Sales::Questions::GenderIdentity2 < ::Form::Question @type = "radio" @page = page @answer_options = ANSWER_OPTIONS + @check_answers_card_number = 2 end ANSWER_OPTIONS = { diff --git a/app/models/form/sales/questions/nationality1.rb b/app/models/form/sales/questions/nationality1.rb index 737bfc01e..4d3dabb01 100644 --- a/app/models/form/sales/questions/nationality1.rb +++ b/app/models/form/sales/questions/nationality1.rb @@ -18,6 +18,7 @@ class Form::Sales::Questions::Nationality1 < ::Form::Question }, ], } + @check_answers_card_number = 1 end ANSWER_OPTIONS = { diff --git a/app/models/form/sales/questions/other_nationality1.rb b/app/models/form/sales/questions/other_nationality1.rb index a779d4fc8..293d4a2f3 100644 --- a/app/models/form/sales/questions/other_nationality1.rb +++ b/app/models/form/sales/questions/other_nationality1.rb @@ -6,5 +6,6 @@ class Form::Sales::Questions::OtherNationality1 < ::Form::Question @header = "Nationality" @type = "text" @page = page + @check_answers_card_number = 1 end end diff --git a/app/models/form/sales/questions/person1_age.rb b/app/models/form/sales/questions/person1_age.rb index 00cf1de13..aa12c948a 100644 --- a/app/models/form/sales/questions/person1_age.rb +++ b/app/models/form/sales/questions/person1_age.rb @@ -7,5 +7,10 @@ class Form::Sales::Questions::Person1Age < ::Form::Question @type = "numeric" @page = page @width = 3 + @inferred_check_answers_value = { + "condition" => { "age3_known" => 1 }, + "value" => "Not known", + } + @check_answers_card_number = 3 end end diff --git a/app/models/form/sales/questions/person1_age_known.rb b/app/models/form/sales/questions/person1_age_known.rb index 603d8649a..3db103ab5 100644 --- a/app/models/form/sales/questions/person1_age_known.rb +++ b/app/models/form/sales/questions/person1_age_known.rb @@ -16,8 +16,12 @@ class Form::Sales::Questions::Person1AgeKnown < ::Form::Question { "age3_known" => 0, }, + { + "age3_known" => 1, + }, ], } + @check_answers_card_number = 3 end ANSWER_OPTIONS = { diff --git a/app/models/form/sales/questions/person2_age.rb b/app/models/form/sales/questions/person2_age.rb index e465e5db1..a421b625a 100644 --- a/app/models/form/sales/questions/person2_age.rb +++ b/app/models/form/sales/questions/person2_age.rb @@ -7,5 +7,10 @@ class Form::Sales::Questions::Person2Age < ::Form::Question @type = "numeric" @page = page @width = 3 + @inferred_check_answers_value = { + "condition" => { "age4_known" => 1 }, + "value" => "Not known", + } + @check_answers_card_number = 4 end end diff --git a/app/models/form/sales/questions/person2_age_known.rb b/app/models/form/sales/questions/person2_age_known.rb index af06a0eb8..613312f45 100644 --- a/app/models/form/sales/questions/person2_age_known.rb +++ b/app/models/form/sales/questions/person2_age_known.rb @@ -17,13 +17,11 @@ class Form::Sales::Questions::Person2AgeKnown < ::Form::Question "age4_known" => 0, }, { - "details_known_2" => nil, - }, - { - "details_known_2" => 2, + "age4_known" => 1, }, ], } + @check_answers_card_number = 4 end ANSWER_OPTIONS = { diff --git a/app/models/form/sales/questions/person2_known.rb b/app/models/form/sales/questions/person2_known.rb index bc931d23f..b539590af 100644 --- a/app/models/form/sales/questions/person2_known.rb +++ b/app/models/form/sales/questions/person2_known.rb @@ -15,6 +15,7 @@ class Form::Sales::Questions::Person2Known < ::Form::Question }, ], } + @check_answers_card_number = 4 end ANSWER_OPTIONS = { diff --git a/app/models/form/sales/questions/person3_age.rb b/app/models/form/sales/questions/person3_age.rb index ca6c71953..139b4de16 100644 --- a/app/models/form/sales/questions/person3_age.rb +++ b/app/models/form/sales/questions/person3_age.rb @@ -7,5 +7,10 @@ class Form::Sales::Questions::Person3Age < ::Form::Question @type = "numeric" @page = page @width = 3 + @inferred_check_answers_value = { + "condition" => { "age5_known" => 1 }, + "value" => "Not known", + } + @check_answers_card_number = 5 end end diff --git a/app/models/form/sales/questions/person3_age_known.rb b/app/models/form/sales/questions/person3_age_known.rb index c784ef1cb..78bdff239 100644 --- a/app/models/form/sales/questions/person3_age_known.rb +++ b/app/models/form/sales/questions/person3_age_known.rb @@ -17,13 +17,11 @@ class Form::Sales::Questions::Person3AgeKnown < ::Form::Question "age5_known" => 0, }, { - "details_known_3" => nil, - }, - { - "details_known_3" => 2, + "age5_known" => 1, }, ], } + @check_answers_card_number = 5 end ANSWER_OPTIONS = { diff --git a/app/models/form/sales/questions/person3_known.rb b/app/models/form/sales/questions/person3_known.rb index f6f79447e..bcb37c151 100644 --- a/app/models/form/sales/questions/person3_known.rb +++ b/app/models/form/sales/questions/person3_known.rb @@ -15,6 +15,7 @@ class Form::Sales::Questions::Person3Known < ::Form::Question }, ], } + @check_answers_card_number = 5 end ANSWER_OPTIONS = { diff --git a/app/models/form/sales/questions/person4_age.rb b/app/models/form/sales/questions/person4_age.rb index ca858fe72..bf7675026 100644 --- a/app/models/form/sales/questions/person4_age.rb +++ b/app/models/form/sales/questions/person4_age.rb @@ -7,5 +7,10 @@ class Form::Sales::Questions::Person4Age < ::Form::Question @type = "numeric" @page = page @width = 3 + @inferred_check_answers_value = { + "condition" => { "age6_known" => 1 }, + "value" => "Not known", + } + @check_answers_card_number = 6 end end diff --git a/app/models/form/sales/questions/person4_age_known.rb b/app/models/form/sales/questions/person4_age_known.rb index e21aa51d6..240e1e930 100644 --- a/app/models/form/sales/questions/person4_age_known.rb +++ b/app/models/form/sales/questions/person4_age_known.rb @@ -17,13 +17,11 @@ class Form::Sales::Questions::Person4AgeKnown < ::Form::Question "age6_known" => 0, }, { - "details_known_4" => nil, - }, - { - "details_known_4" => 2, + "age6_known" => 1, }, ], } + @check_answers_card_number = 6 end ANSWER_OPTIONS = { diff --git a/app/models/form/sales/questions/person4_known.rb b/app/models/form/sales/questions/person4_known.rb index ab6d4c132..162bba06a 100644 --- a/app/models/form/sales/questions/person4_known.rb +++ b/app/models/form/sales/questions/person4_known.rb @@ -15,6 +15,7 @@ class Form::Sales::Questions::Person4Known < ::Form::Question }, ], } + @check_answers_card_number = 6 end ANSWER_OPTIONS = { diff --git a/spec/factories/sales_log.rb b/spec/factories/sales_log.rb index 2bcc7d1b2..2e6729a4f 100644 --- a/spec/factories/sales_log.rb +++ b/spec/factories/sales_log.rb @@ -59,6 +59,7 @@ FactoryBot.define do la { "E09000003" } savingsnk { 1 } prevown { 1 } + sex3 { "X" } end end end diff --git a/spec/models/form/sales/pages/buyer2_live_in_property_spec.rb b/spec/models/form/sales/pages/buyer2_live_in_property_spec.rb index cfabcf04c..48b003d3c 100644 --- a/spec/models/form/sales/pages/buyer2_live_in_property_spec.rb +++ b/spec/models/form/sales/pages/buyer2_live_in_property_spec.rb @@ -26,4 +26,8 @@ RSpec.describe Form::Sales::Pages::Buyer2LiveInProperty, type: :model do it "has the correct description" do expect(page.description).to eq("") end + + it "has correct depends_on" do + expect(page.depends_on).to eq([{ "jointpur" => 1 }]) + end end diff --git a/spec/models/form/sales/pages/buyer2_working_situation_spec.rb b/spec/models/form/sales/pages/buyer2_working_situation_spec.rb index 5077ab6f4..ce001117a 100644 --- a/spec/models/form/sales/pages/buyer2_working_situation_spec.rb +++ b/spec/models/form/sales/pages/buyer2_working_situation_spec.rb @@ -26,4 +26,8 @@ RSpec.describe Form::Sales::Pages::Buyer2WorkingSituation, type: :model do it "has the correct description" do expect(page.description).to eq("") end + + it "has correct depends_on" do + expect(page.depends_on).to eq([{ "jointpur" => 1 }]) + end end diff --git a/spec/models/form/sales/pages/person1_gender_identity_joint_purchase_spec.rb b/spec/models/form/sales/pages/person1_gender_identity_joint_purchase_spec.rb index 04e7dd91d..1b0bfdc52 100644 --- a/spec/models/form/sales/pages/person1_gender_identity_joint_purchase_spec.rb +++ b/spec/models/form/sales/pages/person1_gender_identity_joint_purchase_spec.rb @@ -28,9 +28,9 @@ RSpec.describe Form::Sales::Pages::Person1GenderIdentityJointPurchase, type: :mo end it "has correct depends_on" do - expect(page.depends_on).to eq([{ - "jointpur" => 1, - "details_known_3" => 1, - }]) + expect(page.depends_on).to eq([{ "hholdcount" => 1, "jointpur" => 1 }, + { "hholdcount" => 2, "jointpur" => 1 }, + { "hholdcount" => 3, "jointpur" => 1 }, + { "hholdcount" => 4, "jointpur" => 1 }]) end end diff --git a/spec/models/form/sales/pages/person1_gender_identity_spec.rb b/spec/models/form/sales/pages/person1_gender_identity_spec.rb index 213f7ed7c..54a8eaf4f 100644 --- a/spec/models/form/sales/pages/person1_gender_identity_spec.rb +++ b/spec/models/form/sales/pages/person1_gender_identity_spec.rb @@ -28,9 +28,11 @@ RSpec.describe Form::Sales::Pages::Person1GenderIdentity, type: :model do end it "has correct depends_on" do - expect(page.depends_on).to eq([{ - "jointpur" => 2, - "details_known_2" => 1, - }]) + expect(page.depends_on).to eq([ + { "hholdcount" => 1, "jointpur" => 2 }, + { "hholdcount" => 2, "jointpur" => 2 }, + { "hholdcount" => 3, "jointpur" => 2 }, + { "hholdcount" => 4, "jointpur" => 2 }, + ]) end end diff --git a/spec/models/form/sales/pages/person2_age_spec.rb b/spec/models/form/sales/pages/person2_age_spec.rb index 7ade29b65..85d2813f1 100644 --- a/spec/models/form/sales/pages/person2_age_spec.rb +++ b/spec/models/form/sales/pages/person2_age_spec.rb @@ -29,7 +29,7 @@ RSpec.describe Form::Sales::Pages::Person2Age, type: :model do it "has correct depends_on" do expect(page.depends_on).to eq( - [{ "details_known_2" => 1, "hholdcount" => 2 }, { "details_known_2" => 1, "hholdcount" => 3 }, { "details_known_2" => 1, "hholdcount" => 4 }], + [{ "details_known_2" => 1 }], ) end end diff --git a/spec/models/form/sales/pages/person3_age_spec.rb b/spec/models/form/sales/pages/person3_age_spec.rb index 5089ae7ae..4cb16be5e 100644 --- a/spec/models/form/sales/pages/person3_age_spec.rb +++ b/spec/models/form/sales/pages/person3_age_spec.rb @@ -29,7 +29,7 @@ RSpec.describe Form::Sales::Pages::Person3Age, type: :model do it "has correct depends_on" do expect(page.depends_on).to eq( - [{ "details_known_3" => 1, "hholdcount" => 3 }, { "details_known_3" => 1, "hholdcount" => 4 }], + [{ "details_known_3" => 1 }], ) end end diff --git a/spec/models/form/sales/pages/person4_age_spec.rb b/spec/models/form/sales/pages/person4_age_spec.rb index e8b331435..530e9ad22 100644 --- a/spec/models/form/sales/pages/person4_age_spec.rb +++ b/spec/models/form/sales/pages/person4_age_spec.rb @@ -29,7 +29,7 @@ RSpec.describe Form::Sales::Pages::Person4Age, type: :model do it "has correct depends_on" do expect(page.depends_on).to eq( - [{ "details_known_4" => 1, "hholdcount" => 4 }], + [{ "details_known_4" => 1 }], ) end end diff --git a/spec/models/form/sales/questions/age1_spec.rb b/spec/models/form/sales/questions/age1_spec.rb index 7739a123f..561805c1d 100644 --- a/spec/models/form/sales/questions/age1_spec.rb +++ b/spec/models/form/sales/questions/age1_spec.rb @@ -38,4 +38,15 @@ RSpec.describe Form::Sales::Questions::Age1, type: :model do it "has the correct width" do expect(question.width).to eq(2) end + + it "has the correct inferred check answers value" do + expect(question.inferred_check_answers_value).to eq({ + "condition" => { "age1_known" => 1 }, + "value" => "Not known", + }) + end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(1) + end end diff --git a/spec/models/form/sales/questions/age2_spec.rb b/spec/models/form/sales/questions/age2_spec.rb index 9f5a382ee..ec1219f47 100644 --- a/spec/models/form/sales/questions/age2_spec.rb +++ b/spec/models/form/sales/questions/age2_spec.rb @@ -38,4 +38,17 @@ RSpec.describe Form::Sales::Questions::Age2, type: :model do it "has the correct width" do expect(question.width).to eq(2) end + + it "has the correct inferred check answers value" do + expect(question.inferred_check_answers_value).to eq({ + "condition" => { + "age2_known" => 1, + }, + "value" => "Not known", + }) + end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(2) + end end diff --git a/spec/models/form/sales/questions/buyer1_age_known_spec.rb b/spec/models/form/sales/questions/buyer1_age_known_spec.rb index e1a97b7ef..12518a23d 100644 --- a/spec/models/form/sales/questions/buyer1_age_known_spec.rb +++ b/spec/models/form/sales/questions/buyer1_age_known_spec.rb @@ -20,7 +20,7 @@ RSpec.describe Form::Sales::Questions::Buyer1AgeKnown, type: :model do end it "has the correct check_answer_label" do - expect(question.check_answer_label).to eq("Buyer 1’s age") + expect(question.check_answer_label).to eq("Lead buyer’s age") end it "has the correct type" do @@ -48,4 +48,19 @@ RSpec.describe Form::Sales::Questions::Buyer1AgeKnown, type: :model do it "has the correct hint" do expect(question.hint_text).to eq("Buyer 1 is the person in the household who does the most paid work. If it’s a joint purchase and the buyers do the same amount of paid work, buyer 1 is whoever is the oldest.") end + + it "has correct hidden_in_check_answers for" do + expect(question.hidden_in_check_answers).to eq({ + "depends_on" => [{ + "age1_known" => 0, + }, + { + "age1_known" => 1, + }], + }) + end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(1) + end end diff --git a/spec/models/form/sales/questions/buyer1_ethnic_background_arab_spec.rb b/spec/models/form/sales/questions/buyer1_ethnic_background_arab_spec.rb index c13eda0c5..fd62707bd 100644 --- a/spec/models/form/sales/questions/buyer1_ethnic_background_arab_spec.rb +++ b/spec/models/form/sales/questions/buyer1_ethnic_background_arab_spec.rb @@ -41,4 +41,8 @@ RSpec.describe Form::Sales::Questions::Buyer1EthnicBackgroundArab, type: :model "19" => { "value" => "Arab" }, }) end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(1) + end end diff --git a/spec/models/form/sales/questions/buyer1_ethnic_background_asian_spec.rb b/spec/models/form/sales/questions/buyer1_ethnic_background_asian_spec.rb index 3fe9cee96..1b7c99988 100644 --- a/spec/models/form/sales/questions/buyer1_ethnic_background_asian_spec.rb +++ b/spec/models/form/sales/questions/buyer1_ethnic_background_asian_spec.rb @@ -44,4 +44,8 @@ RSpec.describe Form::Sales::Questions::Buyer1EthnicBackgroundAsian, type: :model "9" => { "value" => "Pakistani" }, }) end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(1) + end end diff --git a/spec/models/form/sales/questions/buyer1_ethnic_background_black_spec.rb b/spec/models/form/sales/questions/buyer1_ethnic_background_black_spec.rb index 28949b598..c324556f7 100644 --- a/spec/models/form/sales/questions/buyer1_ethnic_background_black_spec.rb +++ b/spec/models/form/sales/questions/buyer1_ethnic_background_black_spec.rb @@ -42,4 +42,8 @@ RSpec.describe Form::Sales::Questions::Buyer1EthnicBackgroundBlack, type: :model "14" => { "value" => "Any other Black, African or Caribbean background" }, }) end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(1) + end end diff --git a/spec/models/form/sales/questions/buyer1_ethnic_background_mixed_spec.rb b/spec/models/form/sales/questions/buyer1_ethnic_background_mixed_spec.rb index 48ad38fa8..efbb928d4 100644 --- a/spec/models/form/sales/questions/buyer1_ethnic_background_mixed_spec.rb +++ b/spec/models/form/sales/questions/buyer1_ethnic_background_mixed_spec.rb @@ -43,4 +43,8 @@ RSpec.describe Form::Sales::Questions::Buyer1EthnicBackgroundMixed, type: :model "7" => { "value" => "Any other Mixed or Multiple ethnic background" }, }) end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(1) + end end diff --git a/spec/models/form/sales/questions/buyer1_ethnic_background_white_spec.rb b/spec/models/form/sales/questions/buyer1_ethnic_background_white_spec.rb index 4b72afb92..e155378a3 100644 --- a/spec/models/form/sales/questions/buyer1_ethnic_background_white_spec.rb +++ b/spec/models/form/sales/questions/buyer1_ethnic_background_white_spec.rb @@ -43,4 +43,8 @@ RSpec.describe Form::Sales::Questions::Buyer1EthnicBackgroundWhite, type: :model "3" => { "value" => "Any other White background" }, }) end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(1) + end end diff --git a/spec/models/form/sales/questions/buyer1_ethnic_group_spec.rb b/spec/models/form/sales/questions/buyer1_ethnic_group_spec.rb index 4823b43c8..07e58b368 100644 --- a/spec/models/form/sales/questions/buyer1_ethnic_group_spec.rb +++ b/spec/models/form/sales/questions/buyer1_ethnic_group_spec.rb @@ -46,4 +46,8 @@ RSpec.describe Form::Sales::Questions::Buyer1EthnicGroup, type: :model do "divider" => { "value" => true }, }) end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(1) + end end diff --git a/spec/models/form/sales/questions/buyer1_income_known_spec.rb b/spec/models/form/sales/questions/buyer1_income_known_spec.rb index 81edb985e..a9d3ed9c8 100644 --- a/spec/models/form/sales/questions/buyer1_income_known_spec.rb +++ b/spec/models/form/sales/questions/buyer1_income_known_spec.rb @@ -52,4 +52,8 @@ RSpec.describe Form::Sales::Questions::Buyer1IncomeKnown, type: :model do expect(question.bottom_guidance?).to eq(true) expect(question.top_guidance?).to eq(false) end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(1) + end end diff --git a/spec/models/form/sales/questions/buyer1_income_spec.rb b/spec/models/form/sales/questions/buyer1_income_spec.rb index 5ec84bb58..c37caad43 100644 --- a/spec/models/form/sales/questions/buyer1_income_spec.rb +++ b/spec/models/form/sales/questions/buyer1_income_spec.rb @@ -50,4 +50,8 @@ RSpec.describe Form::Sales::Questions::Buyer1Income, type: :model do it "has correct min" do expect(question.min).to eq(0) end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(1) + end end diff --git a/spec/models/form/sales/questions/buyer1_live_in_property_spec.rb b/spec/models/form/sales/questions/buyer1_live_in_property_spec.rb index e241f5151..7b8979d76 100644 --- a/spec/models/form/sales/questions/buyer1_live_in_property_spec.rb +++ b/spec/models/form/sales/questions/buyer1_live_in_property_spec.rb @@ -45,4 +45,8 @@ RSpec.describe Form::Sales::Questions::Buyer1LiveInProperty, type: :model do it "has the correct hint" do expect(question.hint_text).to eq("Buyer 1 is the person in the household who does the most paid work. If it’s a joint purchase and the buyers do the same amount of paid work, buyer 1 is whoever is the oldest.") end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(1) + end end diff --git a/spec/models/form/sales/questions/buyer1_mortgage_spec.rb b/spec/models/form/sales/questions/buyer1_mortgage_spec.rb index 0e5f49117..3fc341dfd 100644 --- a/spec/models/form/sales/questions/buyer1_mortgage_spec.rb +++ b/spec/models/form/sales/questions/buyer1_mortgage_spec.rb @@ -37,4 +37,8 @@ RSpec.describe Form::Sales::Questions::Buyer1Mortgage, type: :model do "2" => { "value" => "No" }, }) end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(1) + end end diff --git a/spec/models/form/sales/questions/buyer1_working_situation_spec.rb b/spec/models/form/sales/questions/buyer1_working_situation_spec.rb index 55be38193..1c6986aea 100644 --- a/spec/models/form/sales/questions/buyer1_working_situation_spec.rb +++ b/spec/models/form/sales/questions/buyer1_working_situation_spec.rb @@ -45,4 +45,8 @@ RSpec.describe Form::Sales::Questions::Buyer1WorkingSituation, type: :model do "7" => { "value" => "Full-time student" }, }) end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(1) + end end diff --git a/spec/models/form/sales/questions/buyer2_age_known_spec.rb b/spec/models/form/sales/questions/buyer2_age_known_spec.rb index 825644198..7a06e4705 100644 --- a/spec/models/form/sales/questions/buyer2_age_known_spec.rb +++ b/spec/models/form/sales/questions/buyer2_age_known_spec.rb @@ -43,4 +43,17 @@ RSpec.describe Form::Sales::Questions::Buyer2AgeKnown, type: :model do "age2" => [0], }) end + + it "has correct hidden in check answers" do + expect(question.hidden_in_check_answers).to eq({ + "depends_on" => [{ + "age2_known" => 0, + }, + { "age2_known" => 1 }], + }) + end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(2) + end end diff --git a/spec/models/form/sales/questions/buyer2_income_known_spec.rb b/spec/models/form/sales/questions/buyer2_income_known_spec.rb index 06e7afc3e..ead045245 100644 --- a/spec/models/form/sales/questions/buyer2_income_known_spec.rb +++ b/spec/models/form/sales/questions/buyer2_income_known_spec.rb @@ -52,4 +52,8 @@ RSpec.describe Form::Sales::Questions::Buyer2IncomeKnown, type: :model do expect(question.bottom_guidance?).to eq(true) expect(question.top_guidance?).to eq(false) end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(2) + end end diff --git a/spec/models/form/sales/questions/buyer2_income_spec.rb b/spec/models/form/sales/questions/buyer2_income_spec.rb index b7828918a..baf97a2f5 100644 --- a/spec/models/form/sales/questions/buyer2_income_spec.rb +++ b/spec/models/form/sales/questions/buyer2_income_spec.rb @@ -50,4 +50,8 @@ RSpec.describe Form::Sales::Questions::Buyer2Income, type: :model do it "has correct min" do expect(question.min).to eq(0) end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(2) + end end diff --git a/spec/models/form/sales/questions/buyer2_live_in_property_spec.rb b/spec/models/form/sales/questions/buyer2_live_in_property_spec.rb index b0d1af779..0a5ae3699 100644 --- a/spec/models/form/sales/questions/buyer2_live_in_property_spec.rb +++ b/spec/models/form/sales/questions/buyer2_live_in_property_spec.rb @@ -41,4 +41,8 @@ RSpec.describe Form::Sales::Questions::Buyer2LiveInProperty, type: :model do "2" => { "value" => "No" }, }) end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(2) + end end 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 14bf2cb23..742c12ac0 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 @@ -43,4 +43,8 @@ RSpec.describe Form::Sales::Questions::Buyer2RelationshipToBuyer1, type: :model "R" => { "value" => "Buyer prefers not to say" }, }) end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(2) + end end diff --git a/spec/models/form/sales/questions/buyer2_working_situation_spec.rb b/spec/models/form/sales/questions/buyer2_working_situation_spec.rb index 0573f02ed..02b7a76b0 100644 --- a/spec/models/form/sales/questions/buyer2_working_situation_spec.rb +++ b/spec/models/form/sales/questions/buyer2_working_situation_spec.rb @@ -50,4 +50,8 @@ RSpec.describe Form::Sales::Questions::Buyer2WorkingSituation, type: :model do "9" => { "value" => "Child under 16" }, }) end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(2) + end end diff --git a/spec/models/form/sales/questions/gender_identity1_spec.rb b/spec/models/form/sales/questions/gender_identity1_spec.rb index a09d0bcf9..16ab43df5 100644 --- a/spec/models/form/sales/questions/gender_identity1_spec.rb +++ b/spec/models/form/sales/questions/gender_identity1_spec.rb @@ -43,4 +43,8 @@ RSpec.describe Form::Sales::Questions::GenderIdentity1, type: :model do "R" => { "value" => "Prefers not to say " }, }) end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(1) + end end diff --git a/spec/models/form/sales/questions/gender_identity2_spec.rb b/spec/models/form/sales/questions/gender_identity2_spec.rb index e4da94a24..ffd6ecc81 100644 --- a/spec/models/form/sales/questions/gender_identity2_spec.rb +++ b/spec/models/form/sales/questions/gender_identity2_spec.rb @@ -39,4 +39,8 @@ RSpec.describe Form::Sales::Questions::GenderIdentity2, type: :model do "R" => { "value" => "Buyer prefers not to say" }, }) end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(2) + end end diff --git a/spec/models/form/sales/questions/nationality1_spec.rb b/spec/models/form/sales/questions/nationality1_spec.rb index 819d41ae4..498386e5d 100644 --- a/spec/models/form/sales/questions/nationality1_spec.rb +++ b/spec/models/form/sales/questions/nationality1_spec.rb @@ -60,4 +60,8 @@ RSpec.describe Form::Sales::Questions::Nationality1, type: :model do ], }) end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(1) + end end diff --git a/spec/models/form/sales/questions/other_nationality1_spec.rb b/spec/models/form/sales/questions/other_nationality1_spec.rb index b01928efc..c3faa73dc 100644 --- a/spec/models/form/sales/questions/other_nationality1_spec.rb +++ b/spec/models/form/sales/questions/other_nationality1_spec.rb @@ -34,4 +34,8 @@ RSpec.describe Form::Sales::Questions::OtherNationality1, type: :model do it "has the correct hint" do expect(question.hint_text).to be_nil end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(1) + end end diff --git a/spec/models/form/sales/questions/person1_age_known_spec.rb b/spec/models/form/sales/questions/person1_age_known_spec.rb index d6f372692..98dd81056 100644 --- a/spec/models/form/sales/questions/person1_age_known_spec.rb +++ b/spec/models/form/sales/questions/person1_age_known_spec.rb @@ -55,8 +55,15 @@ RSpec.describe Form::Sales::Questions::Person1AgeKnown, type: :model do { "age3_known" => 0, }, + { + "age3_known" => 1, + }, ], }, ) end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(3) + end end diff --git a/spec/models/form/sales/questions/person1_age_spec.rb b/spec/models/form/sales/questions/person1_age_spec.rb index bd2939212..b904fd75f 100644 --- a/spec/models/form/sales/questions/person1_age_spec.rb +++ b/spec/models/form/sales/questions/person1_age_spec.rb @@ -38,4 +38,15 @@ RSpec.describe Form::Sales::Questions::Person1Age, type: :model do it "has the correct width" do expect(question.width).to eq(3) end + + it "has the correct inferred check answers value" do + expect(question.inferred_check_answers_value).to eq({ + "condition" => { "age3_known" => 1 }, + "value" => "Not known", + }) + end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(3) + end end diff --git a/spec/models/form/sales/questions/person2_age_known_spec.rb b/spec/models/form/sales/questions/person2_age_known_spec.rb index 7ebee9dee..203ea0ecc 100644 --- a/spec/models/form/sales/questions/person2_age_known_spec.rb +++ b/spec/models/form/sales/questions/person2_age_known_spec.rb @@ -51,8 +51,12 @@ RSpec.describe Form::Sales::Questions::Person2AgeKnown, type: :model do it "has the correct hidden_in_check_answers" do expect(question.hidden_in_check_answers).to eq( { - "depends_on" => [{ "age4_known" => 0 }, { "details_known_2" => nil }, { "details_known_2" => 2 }], + "depends_on" => [{ "age4_known" => 0 }, { "age4_known" => 1 }], }, ) end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(4) + end end diff --git a/spec/models/form/sales/questions/person2_age_spec.rb b/spec/models/form/sales/questions/person2_age_spec.rb index 4caedc2bc..2dba0d695 100644 --- a/spec/models/form/sales/questions/person2_age_spec.rb +++ b/spec/models/form/sales/questions/person2_age_spec.rb @@ -38,4 +38,15 @@ RSpec.describe Form::Sales::Questions::Person2Age, type: :model do it "has the correct width" do expect(question.width).to eq(3) end + + it "has the correct inferred check answers value" do + expect(question.inferred_check_answers_value).to eq({ + "condition" => { "age4_known" => 1 }, + "value" => "Not known", + }) + end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(4) + end end diff --git a/spec/models/form/sales/questions/person2_known_spec.rb b/spec/models/form/sales/questions/person2_known_spec.rb index 4e8a639c0..6d76874df 100644 --- a/spec/models/form/sales/questions/person2_known_spec.rb +++ b/spec/models/form/sales/questions/person2_known_spec.rb @@ -57,4 +57,8 @@ RSpec.describe Form::Sales::Questions::Person2Known, type: :model do }, ) end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(4) + end end diff --git a/spec/models/form/sales/questions/person3_age_known_spec.rb b/spec/models/form/sales/questions/person3_age_known_spec.rb index bb1762c88..8f6e4f022 100644 --- a/spec/models/form/sales/questions/person3_age_known_spec.rb +++ b/spec/models/form/sales/questions/person3_age_known_spec.rb @@ -51,8 +51,12 @@ RSpec.describe Form::Sales::Questions::Person3AgeKnown, type: :model do it "has the correct hidden_in_check_answers" do expect(question.hidden_in_check_answers).to eq( { - "depends_on" => [{ "age5_known" => 0 }, { "details_known_3" => nil }, { "details_known_3" => 2 }], + "depends_on" => [{ "age5_known" => 0 }, { "age5_known" => 1 }], }, ) end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(5) + end end diff --git a/spec/models/form/sales/questions/person3_age_spec.rb b/spec/models/form/sales/questions/person3_age_spec.rb index 59dda523e..50ec25c3f 100644 --- a/spec/models/form/sales/questions/person3_age_spec.rb +++ b/spec/models/form/sales/questions/person3_age_spec.rb @@ -38,4 +38,15 @@ RSpec.describe Form::Sales::Questions::Person3Age, type: :model do it "has the correct width" do expect(question.width).to eq(3) end + + it "has the correct inferred check answers value" do + expect(question.inferred_check_answers_value).to eq({ + "condition" => { "age5_known" => 1 }, + "value" => "Not known", + }) + end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(5) + end end diff --git a/spec/models/form/sales/questions/person3_known_spec.rb b/spec/models/form/sales/questions/person3_known_spec.rb index bab7d864c..39efdcb3a 100644 --- a/spec/models/form/sales/questions/person3_known_spec.rb +++ b/spec/models/form/sales/questions/person3_known_spec.rb @@ -57,4 +57,8 @@ RSpec.describe Form::Sales::Questions::Person3Known, type: :model do }, ) end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(5) + end end diff --git a/spec/models/form/sales/questions/person4_age_known_spec.rb b/spec/models/form/sales/questions/person4_age_known_spec.rb index 41a64cbea..559ef62b5 100644 --- a/spec/models/form/sales/questions/person4_age_known_spec.rb +++ b/spec/models/form/sales/questions/person4_age_known_spec.rb @@ -51,8 +51,12 @@ RSpec.describe Form::Sales::Questions::Person4AgeKnown, type: :model do it "has the correct hidden_in_check_answers" do expect(question.hidden_in_check_answers).to eq( { - "depends_on" => [{ "age6_known" => 0 }, { "details_known_4" => nil }, { "details_known_4" => 2 }], + "depends_on" => [{ "age6_known" => 0 }, { "age6_known" => 1 }], }, ) end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(6) + end end diff --git a/spec/models/form/sales/questions/person4_age_spec.rb b/spec/models/form/sales/questions/person4_age_spec.rb index c465a9d2a..d1c6ebead 100644 --- a/spec/models/form/sales/questions/person4_age_spec.rb +++ b/spec/models/form/sales/questions/person4_age_spec.rb @@ -38,4 +38,15 @@ RSpec.describe Form::Sales::Questions::Person4Age, type: :model do it "has the correct width" do expect(question.width).to eq(3) end + + it "has the correct inferred check answers value" do + expect(question.inferred_check_answers_value).to eq({ + "condition" => { "age6_known" => 1 }, + "value" => "Not known", + }) + end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(6) + end end diff --git a/spec/models/form/sales/questions/person4_known_spec.rb b/spec/models/form/sales/questions/person4_known_spec.rb index 667a71f01..f23dfa741 100644 --- a/spec/models/form/sales/questions/person4_known_spec.rb +++ b/spec/models/form/sales/questions/person4_known_spec.rb @@ -57,4 +57,8 @@ RSpec.describe Form::Sales::Questions::Person4Known, type: :model do }, ) end + + it "has the correct check_answers_card_number" do + expect(question.check_answers_card_number).to eq(6) + end end