From b0e3a6b91e8da62624ebdbd59f75eb087b48b832 Mon Sep 17 00:00:00 2001 From: Manny Dinssa <44172848+Dinssa@users.noreply.github.com> Date: Tue, 12 Nov 2024 12:24:42 +0000 Subject: [PATCH] Update tests --- .../form/sales/pages/buyer_live_spec.rb | 58 +++++++++++------ .../form/sales/pages/joint_purchase_spec.rb | 62 +++++++++++++------ 2 files changed, 82 insertions(+), 38 deletions(-) diff --git a/spec/models/form/sales/pages/buyer_live_spec.rb b/spec/models/form/sales/pages/buyer_live_spec.rb index ac5ac2c27..1880c37e3 100644 --- a/spec/models/form/sales/pages/buyer_live_spec.rb +++ b/spec/models/form/sales/pages/buyer_live_spec.rb @@ -8,32 +8,50 @@ RSpec.describe Form::Sales::Pages::BuyerLive, type: :model do let(:page_id) { nil } let(:page_definition) { nil } let(:subsection) { instance_double(Form::Subsection) } - let(:form) { instance_double(Form, start_date: current_collection_start_date) } - before do - allow(form).to receive(:start_year_2024_or_later?).and_return(true) - allow(subsection).to receive(:form).and_return(form) - end + context "when start year is 2024" do + let(:form) { instance_double(Form, start_date: Time.zone.local(2024, 4, 1)) } - it "has correct subsection" do - expect(page.subsection).to eq(subsection) - end + before do + allow(form).to receive(:start_year_2024_or_later?).and_return(true) + allow(form).to receive(:start_year_2025_or_later?).and_return(false) + allow(subsection).to receive(:form).and_return(form) + end - it "has correct questions" do - expect(page.questions.map(&:id)).to eq(%w[buylivein]) - end + it "has correct subsection" do + expect(page.subsection).to eq(subsection) + end - it "has the correct id" do - expect(page.id).to eq("buyer_live") - end + it "has correct questions" do + expect(page.questions.map(&:id)).to eq(%w[buylivein]) + end - it "has the correct description" do - expect(page.description).to be_nil + it "has the correct id" do + expect(page.id).to eq("buyer_live") + end + + it "has the correct description" do + expect(page.description).to be_nil + end + + it "has correct depends_on" do + expect(page.depends_on).to eq([{ + "companybuy" => 2, + }]) + end end - it "has correct depends_on" do - expect(page.depends_on).to eq([{ - "companybuy" => 2, - }]) + context "when start year is 2025" do + let(:form) { instance_double(Form, start_date: Time.zone.local(2025, 4, 1)) } + + before do + allow(form).to receive(:start_year_2024_or_later?).and_return(true) + allow(form).to receive(:start_year_2025_or_later?).and_return(true) + allow(subsection).to receive(:form).and_return(form) + end + + it "has correct depends_on" do + expect(page.depends_on).to be_nil + end end end diff --git a/spec/models/form/sales/pages/joint_purchase_spec.rb b/spec/models/form/sales/pages/joint_purchase_spec.rb index 4ccefd03d..0ce956039 100644 --- a/spec/models/form/sales/pages/joint_purchase_spec.rb +++ b/spec/models/form/sales/pages/joint_purchase_spec.rb @@ -5,29 +5,55 @@ RSpec.describe Form::Sales::Pages::JointPurchase, type: :model do let(:page_id) { nil } let(:page_definition) { nil } - let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1))) } + # let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1))) } - it "has correct subsection" do - expect(page.subsection).to eq(subsection) - end + context "when start year is 2024" do + let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2024, 4, 1))) } - it "has correct questions" do - expect(page.questions.map(&:id)).to eq(%w[jointpur]) - end + before do + allow(subsection.form).to receive(:start_year_2024_or_later?).and_return(true) + allow(subsection.form).to receive(:start_year_2025_or_later?).and_return(false) + end - it "has the correct id" do - expect(page.id).to eq("joint_purchase") - end + it "has correct subsection" do + expect(page.subsection).to eq(subsection) + end + + it "has correct questions" do + expect(page.questions.map(&:id)).to eq(%w[jointpur]) + end + + it "has the correct id" do + expect(page.id).to eq("joint_purchase") + end - it "has the correct description" do - expect(page.description).to be_nil + it "has the correct description" do + expect(page.description).to be_nil + end + + it "has correct depends_on" do + expect(page.depends_on).to eq([ + { "ownershipsch" => 1 }, + { "ownershipsch" => 2 }, + { "companybuy" => 2 }, + ]) + end end - it "has correct depends_on" do - expect(page.depends_on).to eq([ - { "ownershipsch" => 1 }, - { "ownershipsch" => 2 }, - { "companybuy" => 2 }, - ]) + context "when start year is 2025" do + let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2025, 4, 1))) } + + before do + allow(subsection.form).to receive(:start_year_2024_or_later?).and_return(true) + allow(subsection.form).to receive(:start_year_2025_or_later?).and_return(true) + end + + it "has correct depends_on" do + expect(page.depends_on).to eq([ + { "ownershipsch" => 1 }, + { "ownershipsch" => 2 }, + ]) + end end + end