From 69e2a56b09a2d6e59857430c7a0facfa5c2c1e4c Mon Sep 17 00:00:00 2001 From: natdeanlewissoftwire Date: Fri, 12 May 2023 09:52:37 +0100 Subject: [PATCH] feat: update tests --- .../local_authority_validations_spec.rb | 38 ++++++++++++++++++ .../validations/shared_validations_spec.rb | 39 ------------------- 2 files changed, 38 insertions(+), 39 deletions(-) create mode 100644 spec/models/validations/local_authority_validations_spec.rb diff --git a/spec/models/validations/local_authority_validations_spec.rb b/spec/models/validations/local_authority_validations_spec.rb new file mode 100644 index 000000000..1c0388c34 --- /dev/null +++ b/spec/models/validations/local_authority_validations_spec.rb @@ -0,0 +1,38 @@ +require "rails_helper" + +RSpec.describe Validations::LocalAuthorityValidations do + subject(:local_auth_validator) { validator_class.new } + + let(:validator_class) { Class.new { include Validations::LocalAuthorityValidations } } + let(:record) { FactoryBot.create(:lettings_log) } + + describe "#validate_previous_accommodation_postcode" do + it "does not add an error if the record ppostcode_full is missing" do + record.ppostcode_full = nil + local_auth_validator.validate_previous_accommodation_postcode(record) + expect(record.errors).to be_empty + end + + it "does not add an error if the record ppostcode_full is valid (uppercase space)" do + record.ppcodenk = 1 + record.ppostcode_full = "M1 1AE" + local_auth_validator.validate_previous_accommodation_postcode(record) + expect(record.errors).to be_empty + end + + it "does not add an error if the record ppostcode_full is valid (lowercase no space)" do + record.ppcodenk = 1 + record.ppostcode_full = "m11ae" + local_auth_validator.validate_previous_accommodation_postcode(record) + expect(record.errors).to be_empty + end + + it "does add an error when the postcode is invalid" do + record.ppcodenk = 1 + record.ppostcode_full = "invalid" + local_auth_validator.validate_previous_accommodation_postcode(record) + expect(record.errors).not_to be_empty + expect(record.errors["ppostcode_full"]).to include(match I18n.t("validations.postcode")) + end + end +end diff --git a/spec/models/validations/shared_validations_spec.rb b/spec/models/validations/shared_validations_spec.rb index b3578bc2f..fe3612c3c 100644 --- a/spec/models/validations/shared_validations_spec.rb +++ b/spec/models/validations/shared_validations_spec.rb @@ -175,43 +175,4 @@ RSpec.describe Validations::SharedValidations do end end end - - describe "#validate_previous_accommodation_postcode" do - it "does not add an error if the lettings_log ppostcode_full is missing when postcode not known" do - lettings_log.ppcodenk = 2 - lettings_log.ppostcode_full = nil - shared_validator.validate_previous_accommodation_postcode(lettings_log) - expect(lettings_log.errors).to be_empty - end - - it "does add an error if the lettings_log ppostcode_full is missing when postcode is known" do - lettings_log.ppcodenk = 1 - lettings_log.ppostcode_full = nil - shared_validator.validate_previous_accommodation_postcode(lettings_log) - expect(lettings_log.errors).not_to be_empty - expect(lettings_log.errors["ppostcode_full"].first).to eq(I18n.t("validations.postcode")) - end - - it "does not add an error if the lettings_log ppostcode_full is valid (uppercase space)" do - lettings_log.ppcodenk = 1 - lettings_log.ppostcode_full = "M1 1AE" - shared_validator.validate_previous_accommodation_postcode(lettings_log) - expect(lettings_log.errors).to be_empty - end - - it "does not add an error if the lettings_log ppostcode_full is valid (lowercase no space)" do - lettings_log.ppcodenk = 1 - lettings_log.ppostcode_full = "m11ae" - shared_validator.validate_previous_accommodation_postcode(lettings_log) - expect(lettings_log.errors).to be_empty - end - - it "does add an error when the postcode is invalid" do - lettings_log.ppcodenk = 1 - lettings_log.ppostcode_full = "invalid" - shared_validator.validate_previous_accommodation_postcode(lettings_log) - expect(lettings_log.errors).not_to be_empty - expect(lettings_log.errors["ppostcode_full"].first).to eq(I18n.t("validations.postcode")) - end - end end