diff --git a/app/models/validations/setup_validations.rb b/app/models/validations/setup_validations.rb index 104cb9719..e86ef6431 100644 --- a/app/models/validations/setup_validations.rb +++ b/app/models/validations/setup_validations.rb @@ -78,7 +78,6 @@ module Validations::SetupValidations end def validate_scheme(record) - location_during_startdate_validation(record) scheme_during_startdate_validation(record) end diff --git a/spec/models/validations/setup_validations_spec.rb b/spec/models/validations/setup_validations_spec.rb index a226ee79d..0aee28826 100644 --- a/spec/models/validations/setup_validations_spec.rb +++ b/spec/models/validations/setup_validations_spec.rb @@ -461,121 +461,6 @@ RSpec.describe Validations::SetupValidations do expect(record.errors["scheme_id"]).to be_empty end end - - context "with a deactivated location" do - let(:scheme) { create(:scheme) } - let(:location) { create(:location, scheme:) } - - before do - Timecop.freeze(Time.zone.local(2023, 11, 10)) - create(:location_deactivation_period, deactivation_date: Time.zone.local(2022, 6, 4), location:) - Timecop.return - location.reload - end - - it "produces error when tenancy start date is during deactivated location period" do - record.startdate = Time.zone.local(2022, 7, 5) - record.location = location - setup_validator.validate_scheme(record) - expect(record.errors["startdate"]) - .to include(match I18n.t("validations.setup.startdate.location.deactivated.startdate", postcode: location.postcode, date: "4 June 2022")) - expect(record.errors["location_id"]) - .to include(match I18n.t("validations.setup.startdate.location.deactivated.location_id", postcode: location.postcode, date: "4 June 2022")) - end - - it "produces no error when tenancy start date is during an active location period" do - record.startdate = Time.zone.local(2022, 6, 1) - record.location = location - setup_validator.validate_scheme(record) - expect(record.errors["startdate"]).to be_empty - expect(record.errors["location_id"]).to be_empty - end - end - - context "with a location that is reactivating soon" do - let(:scheme) { create(:scheme) } - let(:location) { create(:location, scheme:) } - - before do - Timecop.freeze(Time.zone.local(2023, 11, 10)) - create(:location_deactivation_period, deactivation_date: Time.zone.local(2022, 6, 4), reactivation_date: Time.zone.local(2022, 8, 4), location:) - Timecop.return - location.reload - end - - it "produces error when tenancy start date is during deactivated location period" do - record.startdate = Time.zone.local(2022, 7, 5) - record.location = location - setup_validator.validate_scheme(record) - expect(record.errors["startdate"]) - .to include(match I18n.t("validations.setup.startdate.location.reactivating_soon.startdate", postcode: location.postcode, date: "4 August 2022")) - expect(record.errors["location_id"]) - .to include(match I18n.t("validations.setup.startdate.location.reactivating_soon.location_id", postcode: location.postcode, date: "4 August 2022")) - end - - it "produces no error when tenancy start date is during an active location period" do - record.startdate = Time.zone.local(2022, 9, 1) - record.location = location - setup_validator.validate_scheme(record) - expect(record.errors["startdate"]).to be_empty - expect(record.errors["location_id"]).to be_empty - end - end - - context "with a location that has many reactivations soon" do - let(:scheme) { create(:scheme) } - let(:location) { create(:location, scheme:) } - - before do - Timecop.freeze(Time.zone.local(2023, 11, 10)) - create(:location_deactivation_period, deactivation_date: Time.zone.local(2022, 6, 1), reactivation_date: Time.zone.local(2022, 9, 4), location:) - create(:location_deactivation_period, deactivation_date: Time.zone.local(2022, 6, 4), reactivation_date: Time.zone.local(2022, 8, 4), location:) - create(:location_deactivation_period, deactivation_date: Time.zone.local(2022, 6, 2), reactivation_date: Time.zone.local(2022, 8, 3), location:) - Timecop.return - location.reload - end - - it "produces error when tenancy start date is during deactivated location period" do - record.startdate = Time.zone.local(2022, 7, 5) - record.location = location - setup_validator.validate_scheme(record) - expect(record.errors["startdate"]) - .to include(match I18n.t("validations.setup.startdate.location.reactivating_soon.startdate", postcode: location.postcode, date: "4 September 2022")) - expect(record.errors["location_id"]) - .to include(match I18n.t("validations.setup.startdate.location.reactivating_soon.location_id", postcode: location.postcode, date: "4 September 2022")) - end - - it "produces no error when tenancy start date is during an active location period" do - record.startdate = Time.zone.local(2022, 10, 1) - record.location = location - setup_validator.validate_scheme(record) - expect(record.errors["startdate"]).to be_empty - expect(record.errors["location_id"]).to be_empty - end - end - - context "with a location that is activating soon (has no deactivation periods)" do - let(:scheme) { create(:scheme) } - let(:location) { create(:location, scheme:, startdate: Time.zone.local(2022, 9, 15)) } - - it "produces no error" do - record.startdate = Time.zone.local(2022, 10, 15) - record.location = location - setup_validator.validate_scheme(record) - expect(record.errors["startdate"]).to be_empty - expect(record.errors["location_id"]).to be_empty - end - - it "produces an error when the date is before available_from date" do - record.startdate = Time.zone.local(2022, 8, 15) - record.location = location - setup_validator.validate_scheme(record) - expect(record.errors["startdate"]) - .to include(match I18n.t("validations.setup.startdate.location.activating_soon.startdate", postcode: location.postcode, date: "15 September 2022")) - expect(record.errors["location_id"]) - .to include(match I18n.t("validations.setup.startdate.location.activating_soon.location_id", postcode: location.postcode, date: "15 September 2022")) - end - end end describe "#validate_location" do