Browse Source

feat: update tests

pull/1618/head
natdeanlewissoftwire 3 years ago
parent
commit
69e2a56b09
  1. 38
      spec/models/validations/local_authority_validations_spec.rb
  2. 39
      spec/models/validations/shared_validations_spec.rb

38
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

39
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

Loading…
Cancel
Save