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.
29 lines
1.1 KiB
29 lines
1.1 KiB
3 years ago
|
require "rails_helper"
|
||
|
|
||
|
RSpec.describe Validations::DateValidations do
|
||
|
subject(:date_validator) { validator_class.new }
|
||
|
|
||
|
let(:validator_class) { Class.new { include Validations::DateValidations } }
|
||
|
let(:record) { FactoryBot.create(:case_log) }
|
||
|
|
||
|
describe "tenancy start date" do
|
||
|
it "cannot be before the first collection window start date" do
|
||
|
record.startdate = Time.zone.local(2020, 1, 1)
|
||
|
date_validator.validate_startdate(record)
|
||
|
expect(record.errors["startdate"]).to include(match I18n.t("validations.date.outside_collection_window"))
|
||
|
end
|
||
|
|
||
|
it "cannot be after the second collection window end date" do
|
||
|
record.startdate = Time.zone.local(2023, 7, 1, 6)
|
||
|
date_validator.validate_startdate(record)
|
||
|
expect(record.errors["startdate"]).to include(match I18n.t("validations.date.outside_collection_window"))
|
||
|
end
|
||
|
|
||
|
it "must be a valid date" do
|
||
|
record.startdate = Time.zone.local(0, 7, 1)
|
||
|
date_validator.validate_startdate(record)
|
||
|
expect(record.errors["startdate"]).to include(match I18n.t("validations.date.invalid_date"))
|
||
|
end
|
||
|
end
|
||
|
end
|