Browse Source

test: add tests

pull/1446/head
natdeanlewissoftwire 3 years ago
parent
commit
b53a6ec138
  1. 4
      app/models/validations/sales/setup_validations.rb
  2. 34
      spec/models/validations/sales/setup_validations_spec.rb

4
app/models/validations/sales/setup_validations.rb

@ -11,7 +11,9 @@ module Validations::Sales::SetupValidations
end end
def validate_saledate_two_weeks(record) def validate_saledate_two_weeks(record)
if FeatureToggle.saledate_two_week_validation_enabled? && record.saledate > Time.zone.today + 14 return unless record.saledate && date_valid?("saledate", record) && FeatureToggle.saledate_two_week_validation_enabled?
if record.saledate > Time.zone.today + 14
record.errors.add :saledate, I18n.t("validations.setup.saledate.later_than_14_days_after") record.errors.add :saledate, I18n.t("validations.setup.saledate.later_than_14_days_after")
end end
end end

34
spec/models/validations/sales/setup_validations_spec.rb

@ -98,4 +98,38 @@ RSpec.describe Validations::Sales::SetupValidations do
end end
end end
end end
describe "#validate_saledate_two_weeks" do
context "when saledate is blank" do
let(:record) { build(:sales_log, saledate: nil) }
it "does not add an error" do
setup_validator.validate_saledate_two_weeks(record)
expect(record.errors).to be_empty
end
end
context "when saledate is less than 14 days after today" do
let(:record) { build(:sales_log, saledate: Time.zone.today + 10.days) }
it "does not add an error" do
setup_validator.validate_saledate_two_weeks(record)
expect(record.errors).to be_empty
end
end
context "when saledate is more than 14 days after today" do
let(:record) { build(:sales_log, saledate: Time.zone.today + 15.days) }
it "adds an error" do
setup_validator.validate_saledate_two_weeks(record)
expect(record.errors[:saledate]).to include("Sale completion date must not be later than 14 days from today’s date")
end
end
end
end end

Loading…
Cancel
Save