From 872c56c977c17ea19483b6386ca2c78eee75e4ec Mon Sep 17 00:00:00 2001 From: Kat Date: Wed, 30 Aug 2023 12:01:39 +0200 Subject: [PATCH] Remove homelessness validation --- .../validations/household_validations.rb | 4 --- .../lettings/year2022/row_parser.rb | 12 +++----- .../lettings/year2023/row_parser.rb | 12 +++----- config/locales/en.yml | 2 -- .../validations/household_validations_spec.rb | 30 ------------------- .../lettings/year2022/row_parser_spec.rb | 8 ----- .../lettings/year2023/row_parser_spec.rb | 8 ----- 7 files changed, 8 insertions(+), 68 deletions(-) diff --git a/app/models/validations/household_validations.rb b/app/models/validations/household_validations.rb index 07a3fa467..1f4e0998d 100644 --- a/app/models/validations/household_validations.rb +++ b/app/models/validations/household_validations.rb @@ -4,10 +4,6 @@ module Validations::HouseholdValidations # Validations methods need to be called 'validate_' to run on model save # or 'validate_' to run on submit as well def validate_reasonable_preference(record) - if record.is_not_homeless? && record.rp_homeless == 1 - record.errors.add :reasonable_preference_reason, I18n.t("validations.household.reasonpref.not_homeless") - record.errors.add :homeless, I18n.t("validations.household.homeless.reasonpref.not_homeless") - end if !record.given_reasonable_preference? && [record.rp_homeless, record.rp_insan_unsat, record.rp_medwel, record.rp_hardship, record.rp_dontknow].any? { |a| a == 1 } record.errors.add :reasonable_preference_reason, I18n.t("validations.household.reasonable_preference_reason.reason_not_required") end diff --git a/app/services/bulk_upload/lettings/year2022/row_parser.rb b/app/services/bulk_upload/lettings/year2022/row_parser.rb index 9bef9312f..16766debb 100644 --- a/app/services/bulk_upload/lettings/year2022/row_parser.rb +++ b/app/services/bulk_upload/lettings/year2022/row_parser.rb @@ -689,14 +689,10 @@ private end def validate_reasonable_preference_homeless - if field_69 == 1 && homeless == 1 && field_70 == 1 - errors.add(:field_70, I18n.t("validations.household.reasonpref.not_homeless")) - else - reason_fields = %i[field_70 field_71 field_72 field_73 field_74] - if field_69 == 1 && reason_fields.all? { |field| attributes[field.to_s].blank? } - reason_fields.each do |field| - errors.add(field, I18n.t("validations.not_answered", question: "reason for reasonable preference")) - end + reason_fields = %i[field_70 field_71 field_72 field_73 field_74] + if field_69 == 1 && reason_fields.all? { |field| attributes[field.to_s].blank? } + reason_fields.each do |field| + errors.add(field, I18n.t("validations.not_answered", question: "reason for reasonable preference")) end end end diff --git a/app/services/bulk_upload/lettings/year2023/row_parser.rb b/app/services/bulk_upload/lettings/year2023/row_parser.rb index 8d023792c..ee31e3a66 100644 --- a/app/services/bulk_upload/lettings/year2023/row_parser.rb +++ b/app/services/bulk_upload/lettings/year2023/row_parser.rb @@ -622,14 +622,10 @@ private end def validate_reasonable_preference_homeless - if field_110 == 1 && field_105 == 1 && field_111 == 1 - errors.add(:field_111, I18n.t("validations.household.reasonpref.not_homeless")) - else - reason_fields = %i[field_111 field_112 field_113 field_114 field_115] - if field_110 == 1 && reason_fields.all? { |field| attributes[field.to_s].blank? } - reason_fields.each do |field| - errors.add(field, I18n.t("validations.not_answered", question: "reason for reasonable preference")) - end + reason_fields = %i[field_111 field_112 field_113 field_114 field_115] + if field_110 == 1 && reason_fields.all? { |field| attributes[field.to_s].blank? } + reason_fields.each do |field| + errors.add(field, I18n.t("validations.not_answered", question: "reason for reasonable preference")) end end end diff --git a/config/locales/en.yml b/config/locales/en.yml index 4307158e2..5d0f435f9 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -441,8 +441,6 @@ en: mortgage: "Mortgage value cannot be £0 if a mortgage was used for the purchase of this property" household: - reasonpref: - not_homeless: "Answer cannot be ‘homeless or about to lose their home’ as the tenant was not homeless immediately prior to this letting" reasonable_preference_reason: reason_required: "Enter a reason if you've answered 'yes' to reasonable preference" reason_not_required: "Do not enter a reason if you've answered 'no' to reasonable preference" diff --git a/spec/models/validations/household_validations_spec.rb b/spec/models/validations/household_validations_spec.rb index f44c5d255..b3e20779d 100644 --- a/spec/models/validations/household_validations_spec.rb +++ b/spec/models/validations/household_validations_spec.rb @@ -12,36 +12,6 @@ RSpec.describe Validations::HouseholdValidations do end describe "reasonable preference validations" do - context "when reasonable preference is homeless" do - context "when the tenant was not previously homeless" do - it "adds an error" do - record.homeless = 1 - record.rp_homeless = 1 - household_validator.validate_reasonable_preference(record) - expect(record.errors["reasonable_preference_reason"]) - .to include(match I18n.t("validations.household.reasonpref.not_homeless")) - expect(record.errors["homeless"]) - .to include(match I18n.t("validations.household.homeless.reasonpref.not_homeless")) - end - end - - context "when reasonable preference is given" do - context "when the tenant was previously homeless" do - it "does not add an error" do - record.homeless = 1 - record.reasonpref = 1 - household_validator.validate_reasonable_preference(record) - expect(record.errors["reasonpref"]).to be_empty - expect(record.errors["homeless"]).to be_empty - record.homeless = 0 - household_validator.validate_reasonable_preference(record) - expect(record.errors["reasonpref"]).to be_empty - expect(record.errors["homeless"]).to be_empty - end - end - end - end - context "when reasonable preference is not given" do it "validates that no reason is needed" do record.reasonpref = 1 diff --git a/spec/services/bulk_upload/lettings/year2022/row_parser_spec.rb b/spec/services/bulk_upload/lettings/year2022/row_parser_spec.rb index 6b5eaa2ae..fa48df853 100644 --- a/spec/services/bulk_upload/lettings/year2022/row_parser_spec.rb +++ b/spec/services/bulk_upload/lettings/year2022/row_parser_spec.rb @@ -711,14 +711,6 @@ RSpec.describe BulkUpload::Lettings::Year2022::RowParser do end describe "#field_68 - 74" do - context "when not homeless but reasonable preference for homelessness" do - let(:attributes) { { bulk_upload:, field_68: "1", field_69: "1", field_70: "1" } } - - it "is not permitted" do - expect(parser.errors[:field_70]).to be_present - end - end - context "when there is a reasonable preference but none is given" do let(:attributes) { { bulk_upload:, field_69: "1", field_70: nil, field_71: nil, field_72: nil, field_73: nil, field_74: nil } } diff --git a/spec/services/bulk_upload/lettings/year2023/row_parser_spec.rb b/spec/services/bulk_upload/lettings/year2023/row_parser_spec.rb index cac166f46..c3f524499 100644 --- a/spec/services/bulk_upload/lettings/year2023/row_parser_spec.rb +++ b/spec/services/bulk_upload/lettings/year2023/row_parser_spec.rb @@ -803,14 +803,6 @@ RSpec.describe BulkUpload::Lettings::Year2023::RowParser do end describe "#field_105, field_110 - 15" do - context "when not homeless but reasonable preference for homelessness" do - let(:attributes) { { bulk_upload:, field_105: "1", field_110: "1", field_111: "1" } } - - it "is not permitted" do - expect(parser.errors[:field_111]).to be_present - end - end - context "when there is a reasonable preference but none is given" do let(:attributes) { { bulk_upload:, field_110: "1", field_111: nil, field_112: nil, field_113: nil, field_114: nil, field_115: nil } }