From d022d99f8f9ee49dd49bb5e5c46f1f687caf862e Mon Sep 17 00:00:00 2001 From: Kat Date: Mon, 20 May 2024 11:42:16 +0100 Subject: [PATCH] Udate model/forms tests --- .../forms/bulk_upload_lettings/year_spec.rb | 32 ++++++++----------- .../forms/bulk_upload_sales/year_spec.rb | 28 ++++++++-------- 2 files changed, 26 insertions(+), 34 deletions(-) diff --git a/spec/models/forms/bulk_upload_lettings/year_spec.rb b/spec/models/forms/bulk_upload_lettings/year_spec.rb index 241a0a918..70d6af4bf 100644 --- a/spec/models/forms/bulk_upload_lettings/year_spec.rb +++ b/spec/models/forms/bulk_upload_lettings/year_spec.rb @@ -4,13 +4,15 @@ RSpec.describe Forms::BulkUploadLettings::Year do subject(:form) { described_class.new } describe "#options" do + before do + allow(FormHandler.instance).to receive(:lettings_forms).and_return({ "current_lettings" => instance_double(Form, start_date: Time.zone.local(2024, 4, 1)) }) + allow(FormHandler.instance).to receive(:previous_lettings_form).and_return(instance_double(Form, start_date: Time.zone.local(2023, 4, 1))) + allow(FormHandler.instance).to receive(:next_lettings_form).and_return(instance_double(Form, start_date: Time.zone.local(2025, 4, 1))) + end + context "when in a crossover period" do before do - Timecop.freeze(2024, 4, 1) - end - - after do - Timecop.return + allow(FormHandler.instance).to receive(:lettings_in_crossover_period?).and_return(true) end it "returns current and previous years" do @@ -21,32 +23,24 @@ RSpec.describe Forms::BulkUploadLettings::Year do context "when not in a crossover period" do before do - Timecop.freeze(2024, 3, 1) - end - - after do - Timecop.return + allow(FormHandler.instance).to receive(:lettings_in_crossover_period?).and_return(false) end it "returns the current year" do - expect(form.options.map(&:id)).to eql([2023]) - expect(form.options.map(&:name)).to eql(%w[2023/2024]) + expect(form.options.map(&:id)).to eql([2024]) + expect(form.options.map(&:name)).to eql(%w[2024/2025]) end end context "when allow_future_form_use is toggled on" do before do - Timecop.freeze(2024, 3, 1) + allow(FormHandler.instance).to receive(:lettings_in_crossover_period?).and_return(false) allow(FeatureToggle).to receive(:allow_future_form_use?).and_return(true) end - after do - Timecop.return - end - it "returns current and next years" do - expect(form.options.map(&:id)).to eql([2023, 2024]) - expect(form.options.map(&:name)).to eql(%w[2023/2024 2024/2025]) + expect(form.options.map(&:id)).to eql([2024, 2025]) + expect(form.options.map(&:name)).to eql(%w[2024/2025 2025/2026]) end end end diff --git a/spec/models/forms/bulk_upload_sales/year_spec.rb b/spec/models/forms/bulk_upload_sales/year_spec.rb index 654a5760e..2cfa8babc 100644 --- a/spec/models/forms/bulk_upload_sales/year_spec.rb +++ b/spec/models/forms/bulk_upload_sales/year_spec.rb @@ -4,13 +4,15 @@ RSpec.describe Forms::BulkUploadSales::Year do subject(:form) { described_class.new } describe "#options" do + before do + allow(FormHandler.instance).to receive(:sales_forms).and_return({ "current_sales" => instance_double(Form, start_date: Time.zone.local(2024, 4, 1)) }) + allow(FormHandler.instance).to receive(:previous_sales_form).and_return(instance_double(Form, start_date: Time.zone.local(2023, 4, 1))) + allow(FormHandler.instance).to receive(:next_sales_form).and_return(instance_double(Form, start_date: Time.zone.local(2025, 4, 1))) + end + context "when in a crossover period" do before do - Timecop.freeze(2024, 4, 1) - end - - after do - Timecop.return + allow(FormHandler.instance).to receive(:sales_in_crossover_period?).and_return(true) end it "returns current and previous years" do @@ -21,22 +23,18 @@ RSpec.describe Forms::BulkUploadSales::Year do context "when not in a crossover period" do before do - Timecop.freeze(2024, 3, 1) - end - - after do - Timecop.return + allow(FormHandler.instance).to receive(:sales_in_crossover_period?).and_return(false) end it "returns the current year" do - expect(form.options.map(&:id)).to eql([2023]) - expect(form.options.map(&:name)).to eql(%w[2023/2024]) + expect(form.options.map(&:id)).to eql([2024]) + expect(form.options.map(&:name)).to eql(%w[2024/2025]) end end context "when allow_future_form_use is toggled on" do before do - Timecop.freeze(2024, 3, 1) + allow(FormHandler.instance).to receive(:sales_in_crossover_period?).and_return(false) allow(FeatureToggle).to receive(:allow_future_form_use?).and_return(true) end @@ -45,8 +43,8 @@ RSpec.describe Forms::BulkUploadSales::Year do end it "returns current and next years" do - expect(form.options.map(&:id)).to eql([2023, 2024]) - expect(form.options.map(&:name)).to eql(%w[2023/2024 2024/2025]) + expect(form.options.map(&:id)).to eql([2024, 2025]) + expect(form.options.map(&:name)).to eql(%w[2024/2025 2025/2026]) end end end