Browse Source

feat: add sales partner count validation

pull/1178/head
natdeanlewissoftwire 3 years ago
parent
commit
c7441f5d61
  1. 2
      app/models/form/sales/questions/buyer2_relationship_to_buyer1.rb
  2. 4
      app/models/validations/household_validations.rb
  3. 7
      app/models/validations/sales/household_validations.rb
  4. 4
      app/models/validations/shared_validations.rb

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

@ -10,7 +10,7 @@ class Form::Sales::Questions::Buyer2RelationshipToBuyer1 < ::Form::Question
end
ANSWER_OPTIONS = {
"P" => { "value" => "Parent" },
"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" },

4
app/models/validations/household_validations.rb

@ -202,10 +202,6 @@ private
economic_status == 10
end
def tenant_is_partner?(relationship)
relationship == "P"
end
def tenant_is_child?(relationship)
relationship == "C"
end

7
app/models/validations/sales/household_validations.rb

@ -6,4 +6,11 @@ module Validations::Sales::HouseholdValidations
record.errors.add :hholdcount, I18n.t("validations.numeric.valid", field: "Number of other people living in the property", min: 0, max: 4)
end
end
def validate_partner_count(record)
partner_count = (2..6).count { |n| tenant_is_partner?(record["relat#{n}"]) }
if partner_count > 1
record.errors.add :base, I18n.t("validations.household.relat.one_partner")
end
end
end

4
app/models/validations/shared_validations.rb

@ -68,4 +68,8 @@ module Validations::SharedValidations
{ scope: status, date: date&.to_formatted_s(:govuk_date), deactivation_date: closest_reactivation&.deactivation_date&.to_formatted_s(:govuk_date) }
end
def tenant_is_partner?(relationship)
relationship == "P"
end
end

Loading…
Cancel
Save