Browse Source

Move split shared validate partner count into lettings and sales methods

pull/2744/head
Manny Dinssa 8 months ago
parent
commit
38116ef579
  1. 9
      app/models/validations/household_validations.rb
  2. 9
      app/models/validations/sales/household_validations.rb
  3. 15
      app/models/validations/shared_validations.rb

9
app/models/validations/household_validations.rb

@ -52,7 +52,14 @@ module Validations::HouseholdValidations
end end
def validate_partner_count(record) def validate_partner_count(record)
shared_validate_partner_count(record, 8) return if record.form.start_year_after_2024?
partner_numbers = (2..8).select { |n| person_is_partner?(record["relat#{n}"]) }
if partner_numbers.count > 1
partner_numbers.each do |n|
record.errors.add "relat#{n}", I18n.t("validations.lettings.household.relat.one_partner")
end
end
end end
def validate_person_1_economic(record) def validate_person_1_economic(record)

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

@ -2,7 +2,14 @@ module Validations::Sales::HouseholdValidations
include Validations::SharedValidations include Validations::SharedValidations
def validate_partner_count(record) def validate_partner_count(record)
shared_validate_partner_count(record, 6) return if record.form.start_year_after_2024?
partner_numbers = (2..6).select { |n| person_is_partner?(record["relat#{n}"]) }
if partner_numbers.count > 1
partner_numbers.each do |n|
record.errors.add "relat#{n}", I18n.t("validations.sales.household.relat.one_partner")
end
end
end end
def validate_buyers_living_in_property(record) def validate_buyers_living_in_property(record)

15
app/models/validations/shared_validations.rb

@ -88,21 +88,6 @@ module Validations::SharedValidations
{ scope: status, date: date&.to_formatted_s(:govuk_date), deactivation_date: closest_reactivation&.deactivation_date&.to_formatted_s(:govuk_date) } { scope: status, date: date&.to_formatted_s(:govuk_date), deactivation_date: closest_reactivation&.deactivation_date&.to_formatted_s(:govuk_date) }
end end
def shared_validate_partner_count(record, max_people)
return if record.form.start_year_after_2024?
partner_numbers = (2..max_people).select { |n| person_is_partner?(record["relat#{n}"]) }
if partner_numbers.count > 1
partner_numbers.each do |n|
if record.sales?
record.errors.add "relat#{n}", I18n.t("validations.sales.household.relat.one_partner")
else
record.errors.add "relat#{n}", I18n.t("validations.lettings.household.relat.one_partner")
end
end
end
end
def date_valid?(question, record) def date_valid?(question, record)
if record[question].is_a?(ActiveSupport::TimeWithZone) && record[question].year.zero? if record[question].is_a?(ActiveSupport::TimeWithZone) && record[question].year.zero?
record.errors.add question, I18n.t("validations.shared.date.invalid_date") record.errors.add question, I18n.t("validations.shared.date.invalid_date")

Loading…
Cancel
Save