diff --git a/app/models/validations/local_authority_validations.rb b/app/models/validations/local_authority_validations.rb index 0409572b9..e02394fe9 100644 --- a/app/models/validations/local_authority_validations.rb +++ b/app/models/validations/local_authority_validations.rb @@ -18,7 +18,9 @@ module Validations::LocalAuthorityValidations record.la && !record.owning_organisation.local_authorities.include?(record.la) la_name = record.form.get_question("la", record).label_from_value(record.la) org_name = record.owning_organisation.name + postcode = UKPostcode.parse(record.postcode_full) if record.postcode_full record.errors.add :la, I18n.t("validations.property.la.la_invalid_for_org", org_name:, la_name:) + record.errors.add :postcode_known, I18n.t("validations.property.la.postcode_invalid_for_org", org_name:, postcode:) end end end diff --git a/config/locales/en.yml b/config/locales/en.yml index 5a2b36387..456ce9805 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -69,6 +69,7 @@ en: la: la_known: "Enter name of local authority" la_invalid_for_org: "%{org_name} does not operate in %{la_name}" + postcode_invalid_for_org: "Postcode must be in an area covered by %{org_name}" rsnvac: first_let_not_social: "Reason for vacancy cannot be first let if unit has been previously let as social housing" first_let_social: "Reason for vacancy must be first let if unit has been previously let as social housing" diff --git a/spec/models/validations/local_authority_validations_spec.rb b/spec/models/validations/local_authority_validations_spec.rb index 1ad97a72f..42c816c06 100644 --- a/spec/models/validations/local_authority_validations_spec.rb +++ b/spec/models/validations/local_authority_validations_spec.rb @@ -37,15 +37,6 @@ RSpec.describe Validations::LocalAuthorityValidations do end describe "#validate_la" do - context "when the rent type is London affordable" do - it "expects that the local authority is in London" do - record.la = "E09000033" - record.rent_type = 2 - local_auth_validator.validate_la(record) - expect(record.errors["la"]).to be_empty - end - end - context "when previous la is known" do it "la has to be provided" do record.la_known = 1 @@ -80,6 +71,20 @@ RSpec.describe Validations::LocalAuthorityValidations do local_auth_validator.validate_la(record) expect(record.errors["la"]).to be_empty end + + context "when a postcode is given" do + it "validates that it matches a local authority the organisation operates in" do + record.postcode_full = "YO10 3RR" + record.la = "E06000014" + local_auth_validator.validate_la(record) + expect(record.errors["postcode_known"]) + .to include(match I18n.t( + "validations.property.la.postcode_invalid_for_org", + org_name: organisation.name, + postcode: "YO10 3RR", + )) + end + end end context "when the organisation has not listed specific local authorities it operates in" do