You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.4 KiB
33 lines
1.4 KiB
require "rails_helper" |
|
|
|
RSpec.describe Validations::SetupValidations do |
|
subject(:setup_validator) { setup_validator_class.new } |
|
|
|
let(:setup_validator_class) { Class.new { include Validations::SetupValidations } } |
|
let(:record) { FactoryBot.create(:lettings_log) } |
|
|
|
describe "#validate_irproduct" do |
|
it "adds an error when the intermediate rent product name is not provided but the rent type was given as other intermediate rent product" do |
|
record.rent_type = 5 |
|
record.irproduct_other = nil |
|
setup_validator.validate_irproduct_other(record) |
|
expect(record.errors["irproduct_other"]) |
|
.to include(match I18n.t("validations.setup.intermediate_rent_product_name.blank")) |
|
end |
|
|
|
it "adds an error when the intermediate rent product name is blank but the rent type was given as other intermediate rent product" do |
|
record.rent_type = 5 |
|
record.irproduct_other = "" |
|
setup_validator.validate_irproduct_other(record) |
|
expect(record.errors["irproduct_other"]) |
|
.to include(match I18n.t("validations.setup.intermediate_rent_product_name.blank")) |
|
end |
|
|
|
it "Does not add an error when the intermediate rent product name is provided and the rent type was given as other intermediate rent product" do |
|
record.rent_type = 5 |
|
record.irproduct_other = "Example" |
|
setup_validator.validate_irproduct_other(record) |
|
expect(record.errors["irproduct_other"]).to be_empty |
|
end |
|
end |
|
end
|
|
|