Browse Source

Merge b30912df8b into e079455f65

pull/3325/merge
Nat Dean-Lewis 6 days ago committed by GitHub
parent
commit
2a862a7c7f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 14
      app/models/form/lettings/pages/lead_tenant_nationality.rb
  2. 5
      app/models/form/lettings/questions/age.rb
  3. 5
      app/models/form/lettings/questions/age1.rb
  4. 12
      app/models/form/lettings/questions/age1_known.rb
  5. 11
      app/models/form/lettings/questions/age_known.rb
  6. 8
      app/models/form/lettings/questions/armedforces.rb
  7. 8
      app/models/form/lettings/questions/ethnic_group.rb
  8. 8
      app/models/form/lettings/questions/gender_identity1.rb
  9. 8
      app/models/form/lettings/questions/hb.rb
  10. 8
      app/models/form/lettings/questions/illness.rb
  11. 8
      app/models/form/lettings/questions/leftreg.rb
  12. 23
      app/models/form/lettings/questions/nationality.rb
  13. 2
      app/models/form/lettings/questions/nationality_all.rb
  14. 8
      app/models/form/lettings/questions/nationality_all_group.rb
  15. 8
      app/models/form/lettings/questions/net_income_known.rb
  16. 8
      app/models/form/lettings/questions/person_gender_identity.rb
  17. 8
      app/models/form/lettings/questions/person_partner.rb
  18. 8
      app/models/form/lettings/questions/person_relationship.rb
  19. 8
      app/models/form/lettings/questions/person_working_situation.rb
  20. 8
      app/models/form/lettings/questions/preg_occ.rb
  21. 8
      app/models/form/lettings/questions/reason.rb
  22. 8
      app/models/form/lettings/questions/reason_renewal.rb
  23. 8
      app/models/form/lettings/questions/reservist.rb
  24. 8
      app/models/form/lettings/questions/working_situation1.rb
  25. 14
      app/models/form/sales/questions/age2.rb
  26. 8
      app/models/form/sales/questions/armed_forces.rb
  27. 8
      app/models/form/sales/questions/armed_forces_spouse.rb
  28. 8
      app/models/form/sales/questions/buyer1_age_known.rb
  29. 8
      app/models/form/sales/questions/buyer1_ethnic_group.rb
  30. 8
      app/models/form/sales/questions/buyer1_nationality.rb
  31. 8
      app/models/form/sales/questions/buyer1_working_situation.rb
  32. 12
      app/models/form/sales/questions/buyer2_age_known.rb
  33. 8
      app/models/form/sales/questions/buyer2_ethnic_group.rb
  34. 8
      app/models/form/sales/questions/buyer2_nationality.rb
  35. 8
      app/models/form/sales/questions/buyer2_relationship_to_buyer1.rb
  36. 8
      app/models/form/sales/questions/buyer2_relationship_to_buyer1_yes_no.rb
  37. 8
      app/models/form/sales/questions/buyer2_working_situation.rb
  38. 8
      app/models/form/sales/questions/gender_identity2.rb
  39. 2
      app/models/form/sales/questions/nationality_all.rb
  40. 8
      app/models/form/sales/questions/nationality_all_group.rb
  41. 14
      app/models/form/sales/questions/person_age.rb
  42. 12
      app/models/form/sales/questions/person_age_known.rb
  43. 8
      app/models/form/sales/questions/person_gender_identity.rb
  44. 8
      app/models/form/sales/questions/person_relationship_to_buyer_1.rb
  45. 8
      app/models/form/sales/questions/person_relationship_to_buyer_1_yes_no.rb
  46. 8
      app/models/form/sales/questions/person_working_situation.rb
  47. 2
      spec/fixtures/files/lettings_log_csv_export_labels_23.csv
  48. 2
      spec/fixtures/files/lettings_log_csv_export_labels_24.csv
  49. 2
      spec/fixtures/files/lettings_log_csv_export_labels_25.csv
  50. 2
      spec/fixtures/files/lettings_log_csv_export_labels_26.csv
  51. 2
      spec/fixtures/files/lettings_log_csv_export_non_support_labels_23.csv
  52. 2
      spec/fixtures/files/lettings_log_csv_export_non_support_labels_24.csv
  53. 2
      spec/fixtures/files/lettings_log_csv_export_non_support_labels_25.csv
  54. 2
      spec/fixtures/files/lettings_log_csv_export_non_support_labels_26.csv
  55. 2
      spec/fixtures/files/sales_logs_csv_export_labels_24.csv
  56. 2
      spec/fixtures/files/sales_logs_csv_export_labels_25.csv
  57. 2
      spec/fixtures/files/sales_logs_csv_export_labels_26.csv
  58. 2
      spec/fixtures/files/sales_logs_csv_export_non_support_labels_24.csv
  59. 2
      spec/fixtures/files/sales_logs_csv_export_non_support_labels_25.csv
  60. 2
      spec/fixtures/files/sales_logs_csv_export_non_support_labels_26.csv
  61. 4
      spec/models/form/lettings/questions/age1_known_spec.rb
  62. 7
      spec/models/form/lettings/questions/age_known_spec.rb
  63. 36
      spec/models/form/lettings/questions/nationality_spec.rb
  64. 10
      spec/models/form/sales/questions/buyer2_age_known_spec.rb
  65. 13
      spec/models/form/sales/questions/person_age_known_spec.rb

14
app/models/form/lettings/pages/lead_tenant_nationality.rb

@ -2,18 +2,14 @@ class Form::Lettings::Pages::LeadTenantNationality < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "lead_tenant_nationality"
@copy_key = "lettings.household_characteristics.#{form.start_year_2024_or_later? ? 'nationality_all' : 'national'}"
@copy_key = "lettings.household_characteristics.nationality_all"
@depends_on = [{ "declaration" => 1 }]
end
def questions
@questions ||= if form.start_year_2024_or_later?
[
Form::Lettings::Questions::NationalityAllGroup.new(nil, nil, self),
Form::Lettings::Questions::NationalityAll.new(nil, nil, self),
]
else
[Form::Lettings::Questions::Nationality.new(nil, nil, self)]
end
@questions ||= [
Form::Lettings::Questions::NationalityAllGroup.new(nil, nil, self),
Form::Lettings::Questions::NationalityAll.new(nil, nil, self),
]
end
end

5
app/models/form/lettings/questions/age.rb

@ -5,7 +5,10 @@ class Form::Lettings::Questions::Age < ::Form::Question
@copy_key = "lettings.household_characteristics.age#{person_index}.age#{person_index}"
@type = "numeric"
@width = 2
@inferred_check_answers_value = [{ "condition" => { "age#{person_index}_known" => 1 }, "value" => "Not known" }]
@inferred_check_answers_value = [
{ "condition" => { "age#{person_index}_known" => 1 }, "value" => "Not known" },
{ "condition" => { "age#{person_index}_known" => 2 }, "value" => "Prefers not to say" },
]
@check_answers_card_number = person_index
@max = 120
@min = 1

5
app/models/form/lettings/questions/age1.rb

@ -5,7 +5,10 @@ class Form::Lettings::Questions::Age1 < ::Form::Question
@copy_key = "lettings.household_characteristics.age1.age1"
@type = "numeric"
@width = 2
@inferred_check_answers_value = [{ "condition" => { "age1_known" => 1 }, "value" => "Not known" }]
@inferred_check_answers_value = [
{ "condition" => { "age1_known" => 1 }, "value" => "Not known" },
{ "condition" => { "age1_known" => 2 }, "value" => "Prefers not to say" },
]
@check_answers_card_number = 1
@max = 120
@min = 16

12
app/models/form/lettings/questions/age1_known.rb

@ -7,11 +7,19 @@ class Form::Lettings::Questions::Age1Known < ::Form::Question
@check_answers_card_number = 1
@answer_options = ANSWER_OPTIONS
@conditional_for = { "age1" => [0] }
@hidden_in_check_answers = { "depends_on" => [{ "age1_known" => 0 }, { "age1_known" => 1 }] }
@hidden_in_check_answers = { "depends_on" => [{ "age1_known" => 0 }, { "age1_known" => 1 }, { "age1_known" => 2 }] }
@question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR)
end
ANSWER_OPTIONS = { "0" => { "value" => "Yes" }, "1" => { "value" => "No" } }.freeze
ANSWER_OPTIONS = { "0" => { "value" => "Yes" }, "1" => { "value" => "No" }, "2" => { "value" => "Tenant prefers not to say" } }.freeze
QUESTION_NUMBER_FROM_YEAR = { 2023 => 32, 2024 => 31, 2025 => 31, 2026 => 30 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value.to_i == 2
super
end
end

11
app/models/form/lettings/questions/age_known.rb

@ -11,13 +11,14 @@ class Form::Lettings::Questions::AgeKnown < ::Form::Question
"depends_on" => [
{ "age#{person_index}_known" => 0 },
{ "age#{person_index}_known" => 1 },
{ "age#{person_index}_known" => 2 },
],
}
@person_index = person_index
@question_number = question_number
end
ANSWER_OPTIONS = { "0" => { "value" => "Yes" }, "1" => { "value" => "No" } }.freeze
ANSWER_OPTIONS = { "0" => { "value" => "Yes" }, "1" => { "value" => "No" }, "2" => { "value" => "Person prefers not to say" } }.freeze
def question_number
base_question_number = case form.start_date.year
@ -35,4 +36,12 @@ class Form::Lettings::Questions::AgeKnown < ::Form::Question
base_question_number + (form.person_question_count * @person_index)
end
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value.to_i == 2
super
end
end

8
app/models/form/lettings/questions/armedforces.rb

@ -19,4 +19,12 @@ class Form::Lettings::Questions::Armedforces < ::Form::Question
}.freeze
QUESTION_NUMBER_FROM_YEAR = { 2023 => 66, 2024 => 65, 2025 => 65, 2026 => 72 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value.to_i == 3
super
end
end

8
app/models/form/lettings/questions/ethnic_group.rb

@ -19,4 +19,12 @@ class Form::Lettings::Questions::EthnicGroup < ::Form::Question
}.freeze
QUESTION_NUMBER_FROM_YEAR = { 2023 => 34, 2024 => 33, 2025 => 33, 2026 => 33 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value.to_i == 17
super
end
end

8
app/models/form/lettings/questions/gender_identity1.rb

@ -17,4 +17,12 @@ class Form::Lettings::Questions::GenderIdentity1 < ::Form::Question
}.freeze
QUESTION_NUMBER_FROM_YEAR = { 2023 => 33, 2024 => 32, 2025 => 32 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value == "R"
super
end
end

8
app/models/form/lettings/questions/hb.rb

@ -18,4 +18,12 @@ class Form::Lettings::Questions::Hb < ::Form::Question
}.freeze
QUESTION_NUMBER_FROM_YEAR = { 2023 => 89, 2024 => 88, 2025 => 88, 2026 => 96 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value.to_i == 10
super
end
end

8
app/models/form/lettings/questions/illness.rb

@ -16,4 +16,12 @@ class Form::Lettings::Questions::Illness < ::Form::Question
}.freeze
QUESTION_NUMBER_FROM_YEAR = { 2023 => 73, 2024 => 72, 2025 => 72, 2026 => 79 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value.to_i == 3
super
end
end

8
app/models/form/lettings/questions/leftreg.rb

@ -17,4 +17,12 @@ class Form::Lettings::Questions::Leftreg < ::Form::Question
}.freeze
QUESTION_NUMBER_FROM_YEAR = { 2023 => 67, 2024 => 66, 2025 => 66, 2026 => 73 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value.to_i == 3
super
end
end

23
app/models/form/lettings/questions/nationality.rb

@ -1,23 +0,0 @@
class Form::Lettings::Questions::Nationality < ::Form::Question
def initialize(id, hsh, page)
super
@id = "national"
@type = "radio"
@check_answers_card_number = 1
@answer_options = ANSWER_OPTIONS
@question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR)
end
ANSWER_OPTIONS = {
"18" => { "value" => "United Kingdom" },
"17" => { "value" => "Republic of Ireland" },
"19" => { "value" => "European Economic Area (EEA) country, excluding Ireland" },
"20" => { "value" => "Afghanistan" },
"21" => { "value" => "Ukraine" },
"12" => { "value" => "Other" },
"divider" => true,
"13" => { "value" => "Tenant prefers not to say" },
}.freeze
QUESTION_NUMBER_FROM_YEAR = { 2023 => 36, 2024 => 35, 2025 => 35, 2026 => 34 }.freeze
end

2
app/models/form/lettings/questions/nationality_all.rb

@ -21,7 +21,7 @@ class Form::Lettings::Questions::NationalityAll < ::Form::Question
def label_from_value(value)
return unless value
return "Tenant prefers not to say" if value.to_i.zero?
return "Prefers not to say" if value.to_i.zero?
answer_options[value.to_s]["name"]
end

8
app/models/form/lettings/questions/nationality_all_group.rb

@ -18,4 +18,12 @@ class Form::Lettings::Questions::NationalityAllGroup < ::Form::Question
}.freeze
QUESTION_NUMBER_FROM_YEAR = { 2023 => 36, 2024 => 35, 2025 => 35, 2026 => 35 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value.to_i.zero?
super
end
end

8
app/models/form/lettings/questions/net_income_known.rb

@ -17,4 +17,12 @@ class Form::Lettings::Questions::NetIncomeKnown < ::Form::Question
}.freeze
QUESTION_NUMBER_FROM_YEAR = { 2023 => 86, 2024 => 85, 2025 => 85, 2026 => 93 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value.to_i == 2
super
end
end

8
app/models/form/lettings/questions/person_gender_identity.rb

@ -27,4 +27,12 @@ class Form::Lettings::Questions::PersonGenderIdentity < ::Form::Question
base_question_number + (4 * @person_index)
end
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value == "R"
super
end
end

8
app/models/form/lettings/questions/person_partner.rb

@ -41,4 +41,12 @@ class Form::Lettings::Questions::PersonPartner < ::Form::Question
def skip_question_in_form_flow?(log)
form.start_year_2026_or_later? && log.is_any_person_partner?
end
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value == "R"
super
end
end

8
app/models/form/lettings/questions/person_relationship.rb

@ -42,4 +42,12 @@ class Form::Lettings::Questions::PersonRelationship < ::Form::Question
base_question_number + (4 * @person_index)
end
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value == "R"
super
end
end

8
app/models/form/lettings/questions/person_working_situation.rb

@ -69,4 +69,12 @@ class Form::Lettings::Questions::PersonWorkingSituation < ::Form::Question
base_question_number + (form.person_question_count * @person_index)
end
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value.to_i == 10
super
end
end

8
app/models/form/lettings/questions/preg_occ.rb

@ -16,4 +16,12 @@ class Form::Lettings::Questions::PregOcc < ::Form::Question
}.freeze
QUESTION_NUMBER_FROM_YEAR = { 2023 => 69, 2024 => 68, 2025 => 68, 2026 => 75 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value.to_i == 3
super
end
end

8
app/models/form/lettings/questions/reason.rb

@ -133,4 +133,12 @@ class Form::Lettings::Questions::Reason < ::Form::Question
}.freeze
QUESTION_NUMBER_FROM_YEAR = { 2024 => 76, 2025 => 76, 2026 => 83 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value.to_i == 47
super
end
end

8
app/models/form/lettings/questions/reason_renewal.rb

@ -38,4 +38,12 @@ class Form::Lettings::Questions::ReasonRenewal < ::Form::Question
end
QUESTION_NUMBER_FROM_YEAR = { 2023 => 77, 2024 => 76, 2025 => 76, 2026 => 83 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value.to_i == 47
super
end
end

8
app/models/form/lettings/questions/reservist.rb

@ -16,4 +16,12 @@ class Form::Lettings::Questions::Reservist < ::Form::Question
}.freeze
QUESTION_NUMBER_FROM_YEAR = { 2023 => 68, 2024 => 67, 2025 => 67, 2026 => 74 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value.to_i == 3
super
end
end

8
app/models/form/lettings/questions/working_situation1.rb

@ -41,4 +41,12 @@ class Form::Lettings::Questions::WorkingSituation1 < ::Form::Question
end
QUESTION_NUMBER_FROM_YEAR = { 2023 => 37, 2024 => 36, 2025 => 36, 2026 => 36 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value.to_i == 10
super
end
end

14
app/models/form/sales/questions/age2.rb

@ -5,10 +5,16 @@ class Form::Sales::Questions::Age2 < ::Form::Question
@copy_key = "sales.household_characteristics.age2.buyer.age2"
@type = "numeric"
@width = 2
@inferred_check_answers_value = [{
"condition" => { "age2_known" => 1 },
"value" => "Not known",
}]
@inferred_check_answers_value = [
{
"condition" => { "age2_known" => 1 },
"value" => "Not known",
},
{
"condition" => { "age2_known" => 2 },
"value" => "Prefers not to say",
},
]
@check_answers_card_number = 2
@max = 110
@min = 16

8
app/models/form/sales/questions/armed_forces.rb

@ -16,4 +16,12 @@ class Form::Sales::Questions::ArmedForces < ::Form::Question
}.freeze
QUESTION_NUMBER_FROM_YEAR = { 2023 => 62, 2024 => 64, 2025 => 61, 2026 => 69 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value.to_i == 3
super
end
end

8
app/models/form/sales/questions/armed_forces_spouse.rb

@ -16,4 +16,12 @@ class Form::Sales::Questions::ArmedForcesSpouse < ::Form::Question
}.freeze
QUESTION_NUMBER_FROM_YEAR = { 2023 => 64, 2024 => 66, 2025 => 63, 2026 => 71 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value.to_i == 6
super
end
end

8
app/models/form/sales/questions/buyer1_age_known.rb

@ -32,4 +32,12 @@ class Form::Sales::Questions::Buyer1AgeKnown < ::Form::Question
}.freeze
QUESTION_NUMBER_FROM_YEAR = { 2023 => 20, 2024 => 22, 2025 => 20, 2026 => 21 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value.to_i == 2
super
end
end

8
app/models/form/sales/questions/buyer1_ethnic_group.rb

@ -19,4 +19,12 @@ class Form::Sales::Questions::Buyer1EthnicGroup < ::Form::Question
}.freeze
QUESTION_NUMBER_FROM_YEAR = { 2023 => 22, 2024 => 24, 2025 => 22, 2026 => 24 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value.to_i == 17
super
end
end

8
app/models/form/sales/questions/buyer1_nationality.rb

@ -23,4 +23,12 @@ class Form::Sales::Questions::Buyer1Nationality < ::Form::Question
}.freeze
QUESTION_NUMBER_FROM_YEAR = { 2023 => 24, 2024 => 26, 2025 => 24, 2026 => 26 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value.to_i == 13
super
end
end

8
app/models/form/sales/questions/buyer1_working_situation.rb

@ -45,4 +45,12 @@ class Form::Sales::Questions::Buyer1WorkingSituation < ::Form::Question
end
QUESTION_NUMBER_FROM_YEAR = { 2023 => 25, 2024 => 27, 2025 => 25, 2026 => 27 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value.to_i == 10
super
end
end

12
app/models/form/sales/questions/buyer2_age_known.rb

@ -16,6 +16,9 @@ class Form::Sales::Questions::Buyer2AgeKnown < ::Form::Question
{
"age2_known" => 1,
},
{
"age2_known" => 2,
},
],
}
@check_answers_card_number = 2
@ -25,7 +28,16 @@ class Form::Sales::Questions::Buyer2AgeKnown < ::Form::Question
ANSWER_OPTIONS = {
"0" => { "value" => "Yes" },
"1" => { "value" => "No" },
"2" => { "value" => "Buyer prefers not to say" },
}.freeze
QUESTION_NUMBER_FROM_YEAR = { 2023 => 28, 2024 => 30, 2025 => 28, 2026 => 30 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value.to_i == 2
super
end
end

8
app/models/form/sales/questions/buyer2_ethnic_group.rb

@ -19,4 +19,12 @@ class Form::Sales::Questions::Buyer2EthnicGroup < ::Form::Question
}.freeze
QUESTION_NUMBER_FROM_YEAR = { 2023 => 30, 2024 => 32, 2025 => 30, 2026 => 33 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value.to_i == 17
super
end
end

8
app/models/form/sales/questions/buyer2_nationality.rb

@ -23,4 +23,12 @@ class Form::Sales::Questions::Buyer2Nationality < ::Form::Question
}.freeze
QUESTION_NUMBER_FROM_YEAR = { 2023 => 32, 2024 => 34, 2025 => 32 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value.to_i == 13
super
end
end

8
app/models/form/sales/questions/buyer2_relationship_to_buyer1.rb

@ -34,4 +34,12 @@ class Form::Sales::Questions::Buyer2RelationshipToBuyer1 < ::Form::Question
end
QUESTION_NUMBER_FROM_YEAR = { 2023 => 27, 2024 => 29, 2025 => 27, 2026 => 29 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value == "R"
super
end
end

8
app/models/form/sales/questions/buyer2_relationship_to_buyer1_yes_no.rb

@ -20,4 +20,12 @@ class Form::Sales::Questions::Buyer2RelationshipToBuyer1YesNo < ::Form::Question
end
QUESTION_NUMBER_FROM_YEAR = { 2025 => 27, 2026 => 29 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value == "R"
super
end
end

8
app/models/form/sales/questions/buyer2_working_situation.rb

@ -52,4 +52,12 @@ class Form::Sales::Questions::Buyer2WorkingSituation < ::Form::Question
end
QUESTION_NUMBER_FROM_YEAR = { 2023 => 33, 2024 => 35, 2025 => 33, 2026 => 36 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value.to_i == 10
super
end
end

8
app/models/form/sales/questions/gender_identity2.rb

@ -23,4 +23,12 @@ class Form::Sales::Questions::GenderIdentity2 < ::Form::Question
}.freeze
QUESTION_NUMBER_FROM_YEAR = { 2023 => 29, 2024 => 31, 2025 => 29, 2026 => 31 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value == "R"
super
end
end

2
app/models/form/sales/questions/nationality_all.rb

@ -25,7 +25,7 @@ class Form::Sales::Questions::NationalityAll < ::Form::Question
def label_from_value(value)
return unless value
return "Buyer prefers not to say" if value.to_i.zero?
return "Prefers not to say" if value.to_i.zero?
answer_options[value.to_s]["name"]
end

8
app/models/form/sales/questions/nationality_all_group.rb

@ -22,4 +22,12 @@ class Form::Sales::Questions::NationalityAllGroup < ::Form::Question
2025 => { 1 => 24, 2 => 32 },
2026 => { 1 => 26, 2 => 35 },
}.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value.to_i.zero?
super
end
end

14
app/models/form/sales/questions/person_age.rb

@ -4,10 +4,16 @@ class Form::Sales::Questions::PersonAge < ::Form::Question
@type = "numeric"
@copy_key = person_index == 2 ? "sales.household_characteristics.age2.person.age2" : "sales.household_characteristics.age#{person_index}.age#{person_index}"
@width = 3
@inferred_check_answers_value = [{
"condition" => { "age#{person_index}_known" => 1 },
"value" => "Not known",
}]
@inferred_check_answers_value = [
{
"condition" => { "age#{person_index}_known" => 1 },
"value" => "Not known",
},
{
"condition" => { "age#{person_index}_known" => 2 },
"value" => "Prefers not to say",
},
]
@check_answers_card_number = person_index
@min = 0
@max = 110

12
app/models/form/sales/questions/person_age_known.rb

@ -15,6 +15,9 @@ class Form::Sales::Questions::PersonAgeKnown < ::Form::Question
{
"age#{person_index}_known" => 1,
},
{
"age#{person_index}_known" => 2,
},
],
}
@check_answers_card_number = person_index
@ -25,6 +28,7 @@ class Form::Sales::Questions::PersonAgeKnown < ::Form::Question
ANSWER_OPTIONS = {
"0" => { "value" => "Yes" },
"1" => { "value" => "No" },
"2" => { "value" => "Person prefers not to say" },
}.freeze
BASE_QUESTION_NUMBERS = { 2023 => 29, 2024 => 31, 2025 => 29, 2026 => 30 }.freeze
@ -33,4 +37,12 @@ class Form::Sales::Questions::PersonAgeKnown < ::Form::Question
base_question_number + (form.person_question_count * @person_index)
end
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value.to_i == 2
super
end
end

8
app/models/form/sales/questions/person_gender_identity.rb

@ -23,4 +23,12 @@ class Form::Sales::Questions::PersonGenderIdentity < ::Form::Question
}.freeze
BASE_QUESTION_NUMBERS = { 2023 => 30, 2024 => 32, 2025 => 30 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value == "R"
super
end
end

8
app/models/form/sales/questions/person_relationship_to_buyer_1.rb

@ -43,4 +43,12 @@ class Form::Sales::Questions::PersonRelationshipToBuyer1 < ::Form::Question
base_question_number + (form.person_question_count * @person_index)
end
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value == "R"
super
end
end

8
app/models/form/sales/questions/person_relationship_to_buyer_1_yes_no.rb

@ -20,4 +20,12 @@ class Form::Sales::Questions::PersonRelationshipToBuyer1YesNo < ::Form::Question
end
BASE_QUESTION_NUMBERS = { 2025 => 28, 2026 => 29 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value == "R"
super
end
end

8
app/models/form/sales/questions/person_working_situation.rb

@ -64,4 +64,12 @@ class Form::Sales::Questions::PersonWorkingSituation < ::Form::Question
end
BASE_QUESTION_NUMBERS = { 2023 => 31, 2024 => 33, 2025 => 31, 2026 => 33 }.freeze
def label_from_value(value, _log = nil, _user = nil)
return unless value
return "Prefers not to say" if value.to_i == 10
super
end
end

2
spec/fixtures/files/lettings_log_csv_export_labels_23.csv vendored

File diff suppressed because one or more lines are too long

2
spec/fixtures/files/lettings_log_csv_export_labels_24.csv vendored

File diff suppressed because one or more lines are too long

2
spec/fixtures/files/lettings_log_csv_export_labels_25.csv vendored

File diff suppressed because one or more lines are too long

2
spec/fixtures/files/lettings_log_csv_export_labels_26.csv vendored

File diff suppressed because one or more lines are too long

2
spec/fixtures/files/lettings_log_csv_export_non_support_labels_23.csv vendored

File diff suppressed because one or more lines are too long

2
spec/fixtures/files/lettings_log_csv_export_non_support_labels_24.csv vendored

File diff suppressed because one or more lines are too long

2
spec/fixtures/files/lettings_log_csv_export_non_support_labels_25.csv vendored

File diff suppressed because one or more lines are too long

2
spec/fixtures/files/lettings_log_csv_export_non_support_labels_26.csv vendored

File diff suppressed because one or more lines are too long

2
spec/fixtures/files/sales_logs_csv_export_labels_24.csv vendored

File diff suppressed because one or more lines are too long

2
spec/fixtures/files/sales_logs_csv_export_labels_25.csv vendored

File diff suppressed because one or more lines are too long

2
spec/fixtures/files/sales_logs_csv_export_labels_26.csv vendored

File diff suppressed because one or more lines are too long

2
spec/fixtures/files/sales_logs_csv_export_non_support_labels_24.csv vendored

File diff suppressed because one or more lines are too long

2
spec/fixtures/files/sales_logs_csv_export_non_support_labels_25.csv vendored

File diff suppressed because one or more lines are too long

2
spec/fixtures/files/sales_logs_csv_export_non_support_labels_26.csv vendored

File diff suppressed because one or more lines are too long

4
spec/models/form/lettings/questions/age1_known_spec.rb

@ -30,6 +30,7 @@ RSpec.describe Form::Lettings::Questions::Age1Known, type: :model do
expect(question.answer_options).to eq({
"0" => { "value" => "Yes" },
"1" => { "value" => "No" },
"2" => { "value" => "Tenant prefers not to say" },
})
end
@ -53,6 +54,9 @@ RSpec.describe Form::Lettings::Questions::Age1Known, type: :model do
{
"age1_known" => 1,
},
{
"age1_known" => 2,
},
],
},
)

7
spec/models/form/lettings/questions/age_known_spec.rb

@ -23,6 +23,7 @@ RSpec.describe Form::Lettings::Questions::AgeKnown, type: :model do
expect(question.answer_options).to eq({
"0" => { "value" => "Yes" },
"1" => { "value" => "No" },
"2" => { "value" => "Person prefers not to say" },
})
end
@ -47,6 +48,9 @@ RSpec.describe Form::Lettings::Questions::AgeKnown, type: :model do
{
"age2_known" => 1,
},
{
"age2_known" => 2,
},
],
},
)
@ -80,6 +84,9 @@ RSpec.describe Form::Lettings::Questions::AgeKnown, type: :model do
{
"age3_known" => 1,
},
{
"age3_known" => 2,
},
],
},
)

36
spec/models/form/lettings/questions/nationality_spec.rb

@ -1,36 +0,0 @@
require "rails_helper"
RSpec.describe Form::Lettings::Questions::Nationality, type: :model do
subject(:question) { described_class.new(nil, nil, page) }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1)))) }
it "has correct page" do
expect(question.page).to eq(page)
end
it "has the correct id" do
expect(question.id).to eq("national")
end
it "has the correct type" do
expect(question.type).to eq("radio")
end
it "has the correct answer_options" do
expect(question.answer_options).to eq({
"18" => { "value" => "United Kingdom" },
"17" => { "value" => "Republic of Ireland" },
"19" => { "value" => "European Economic Area (EEA) country, excluding Ireland" },
"20" => { "value" => "Afghanistan" },
"21" => { "value" => "Ukraine" },
"12" => { "value" => "Other" },
"divider" => true,
"13" => { "value" => "Tenant prefers not to say" },
})
end
it "is not marked as derived" do
expect(question.derived?(nil)).to be false
end
end

10
spec/models/form/sales/questions/buyer2_age_known_spec.rb

@ -27,6 +27,7 @@ RSpec.describe Form::Sales::Questions::Buyer2AgeKnown, type: :model do
expect(question.answer_options).to eq({
"0" => { "value" => "Yes" },
"1" => { "value" => "No" },
"2" => { "value" => "Buyer prefers not to say" },
})
end
@ -38,10 +39,11 @@ RSpec.describe Form::Sales::Questions::Buyer2AgeKnown, type: :model do
it "has correct hidden in check answers" do
expect(question.hidden_in_check_answers).to eq({
"depends_on" => [{
"age2_known" => 0,
},
{ "age2_known" => 1 }],
"depends_on" => [
{ "age2_known" => 0 },
{ "age2_known" => 1 },
{ "age2_known" => 2 },
],
})
end

13
spec/models/form/sales/questions/person_age_known_spec.rb

@ -24,6 +24,7 @@ RSpec.describe Form::Sales::Questions::PersonAgeKnown, type: :model do
expect(question.answer_options).to eq({
"0" => { "value" => "Yes" },
"1" => { "value" => "No" },
"2" => { "value" => "Person prefers not to say" },
})
end
@ -51,6 +52,9 @@ RSpec.describe Form::Sales::Questions::PersonAgeKnown, type: :model do
{
"age2_known" => 1,
},
{
"age2_known" => 2,
},
],
},
)
@ -85,6 +89,9 @@ RSpec.describe Form::Sales::Questions::PersonAgeKnown, type: :model do
{
"age3_known" => 1,
},
{
"age3_known" => 2,
},
],
},
)
@ -119,6 +126,9 @@ RSpec.describe Form::Sales::Questions::PersonAgeKnown, type: :model do
{
"age4_known" => 1,
},
{
"age4_known" => 2,
},
],
},
)
@ -153,6 +163,9 @@ RSpec.describe Form::Sales::Questions::PersonAgeKnown, type: :model do
{
"age5_known" => 1,
},
{
"age5_known" => 2,
},
],
},
)

Loading…
Cancel
Save