Browse Source

Refactor

pull/2432/head
Kat 2 years ago
parent
commit
289565543e
  1. 5
      spec/models/validations/sales/household_validations_spec.rb
  2. 34
      spec/models/validations/sales/setup_validations_spec.rb

5
spec/models/validations/sales/household_validations_spec.rb

@ -5,9 +5,11 @@ RSpec.describe Validations::Sales::HouseholdValidations do
let(:validator_class) { Class.new { include Validations::Sales::HouseholdValidations } } let(:validator_class) { Class.new { include Validations::Sales::HouseholdValidations } }
let(:record) { build(:sales_log, saledate:) } let(:record) { build(:sales_log, saledate:) }
let(:saledate) { Time.zone.local(2023, 4, 1) } let(:saledate) { Time.zone.now }
describe "#validate_partner_count" do describe "#validate_partner_count" do
let(:saledate) { Time.zone.local(2023, 4, 1) }
it "validates that only 1 partner exists" do it "validates that only 1 partner exists" do
record.relat2 = "P" record.relat2 = "P"
record.relat3 = "P" record.relat3 = "P"
@ -337,7 +339,6 @@ RSpec.describe Validations::Sales::HouseholdValidations do
end end
describe "#validate_buyer1_previous_tenure" do describe "#validate_buyer1_previous_tenure" do
let(:saledate) { Time.zone.local(2024, 4, 4) }
let(:record) { build(:sales_log, saledate:, ownershipsch: 2) } let(:record) { build(:sales_log, saledate:, ownershipsch: 2) }
it "adds an error when previous tenure is not valid" do it "adds an error when previous tenure is not valid" do

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

@ -7,6 +7,10 @@ RSpec.describe Validations::Sales::SetupValidations do
describe "#validate_saledate_collection_year" do describe "#validate_saledate_collection_year" do
context "with sales_in_crossover_period == false" do context "with sales_in_crossover_period == false" do
before do
allow(FormHandler.instance).to receive(:sales_in_crossover_period?).and_return(false)
end
context "when saledate is blank" do context "when saledate is blank" do
let(:record) { build(:sales_log, saledate: nil) } let(:record) { build(:sales_log, saledate: nil) }
@ -18,11 +22,7 @@ RSpec.describe Validations::Sales::SetupValidations do
end end
context "when saledate is in the open collection year" do context "when saledate is in the open collection year" do
let(:record) { build(:sales_log, saledate: Time.zone.local(2023, 1, 1)) } let(:record) { build(:sales_log) }
before do
allow(Time).to receive(:now).and_return(Time.zone.local(2023, 1, 10))
end
it "does not add an error" do it "does not add an error" do
setup_validator.validate_saledate_collection_year(record) setup_validator.validate_saledate_collection_year(record)
@ -61,6 +61,10 @@ RSpec.describe Validations::Sales::SetupValidations do
end end
context "with sales_in_crossover_period == true" do context "with sales_in_crossover_period == true" do
before do
allow(FormHandler.instance).to receive(:sales_in_crossover_period?).and_return(true)
end
context "when saledate is blank" do context "when saledate is blank" do
let(:record) { build(:sales_log, saledate: nil) } let(:record) { build(:sales_log, saledate: nil) }
@ -108,11 +112,11 @@ RSpec.describe Validations::Sales::SetupValidations do
allow(Time).to receive(:now).and_return(Time.zone.local(2025, 1, 8)) allow(Time).to receive(:now).and_return(Time.zone.local(2025, 1, 8))
end end
it "cannot create new logs for the previous collection year" do it "cannot create new logs for the archived collection year" do
record.update!(saledate: nil) record.update!(saledate: nil)
record.saledate = Time.zone.local(2024, 1, 1) record.saledate = Time.zone.local(2023, 1, 1)
setup_validator.validate_saledate_collection_year(record) setup_validator.validate_saledate_collection_year(record)
expect(record.errors["saledate"]).to include(match "Enter a date within the 24/25 collection year, which is between 1st April 2024 and 31st March 2025") expect(record.errors["saledate"]).to include(match "Enter a date within the 23/24 or 24/25 collection years, which is between 1st April 2023 and 31st March 2025")
end end
xit "can edit already created logs for the previous collection year" do xit "can edit already created logs for the previous collection year" do
@ -131,19 +135,19 @@ RSpec.describe Validations::Sales::SetupValidations do
allow(Time).to receive(:now).and_return(Time.zone.local(2025, 1, 8)) allow(Time).to receive(:now).and_return(Time.zone.local(2025, 1, 8))
end end
it "cannot create new logs for the previous collection year" do it "cannot create new logs for the archived collection year" do
record.update!(saledate: nil) record.update!(saledate: nil)
record.saledate = Time.zone.local(2024, 1, 1) record.saledate = Time.zone.local(2023, 1, 1)
setup_validator.validate_saledate_collection_year(record) setup_validator.validate_saledate_collection_year(record)
expect(record.errors["saledate"]).to include(match "Enter a date within the 24/25 collection year, which is between 1st April 2024 and 31st March 2025") expect(record.errors["saledate"]).to include(match "Enter a date within the 23/24 or 24/25 collection years, which is between 1st April 2023 and 31st March 2025")
end end
it "cannot edit already created logs for the previous collection year" do it "cannot edit already created logs for the archived collection year" do
record.saledate = Time.zone.local(2024, 1, 2) record.saledate = Time.zone.local(2023, 1, 2)
record.save!(validate: false) record.save!(validate: false)
record.saledate = Time.zone.local(2024, 1, 1) record.saledate = Time.zone.local(2023, 1, 1)
setup_validator.validate_saledate_collection_year(record) setup_validator.validate_saledate_collection_year(record)
expect(record.errors["saledate"]).to include(match "Enter a date within the 24/25 collection year, which is between 1st April 2024 and 31st March 2025") expect(record.errors["saledate"]).to include(match "Enter a date within the 23/24 or 24/25 collection years, which is between 1st April 2023 and 31st March 2025")
end end
end end
end end

Loading…
Cancel
Save