Browse Source

CLDC-4184: Update tests

pull/3221/head
samyou-softwire 3 weeks ago
parent
commit
814c9dc4fb
  1. 2
      spec/models/form/sales/pages/buyer1_gender_same_as_sex_spec.rb
  2. 2
      spec/models/form/sales/pages/buyer2_gender_same_as_sex_spec.rb
  3. 4
      spec/models/form/sales/pages/deposit_spec.rb
  4. 2
      spec/models/form/sales/pages/extra_borrowing_spec.rb
  5. 2
      spec/models/form/sales/pages/leasehold_charges_spec.rb
  6. 2
      spec/models/form/sales/pages/mortgage_amount_spec.rb
  7. 2
      spec/models/form/sales/pages/mortgage_length_spec.rb
  8. 2
      spec/models/form/sales/pages/person_age_spec.rb
  9. 2
      spec/models/form/sales/pages/person_gender_identity_spec.rb
  10. 2
      spec/models/form/sales/pages/person_gender_same_as_sex_spec.rb
  11. 2
      spec/models/form/sales/pages/person_relationship_to_buyer1_spec.rb
  12. 2
      spec/models/form/sales/pages/person_relationship_to_buyer1_yes_no_spec.rb
  13. 2
      spec/models/form/sales/pages/person_sex_registered_at_birth_spec.rb
  14. 2
      spec/models/form/sales/pages/person_working_situation_spec.rb
  15. 2
      spec/models/form/sales/pages/purchase_price_outright_ownership_spec.rb
  16. 2
      spec/models/form/sales/pages/purchase_price_spec.rb
  17. 2
      spec/models/form/sales/pages/service_charge_spec.rb
  18. 2
      spec/models/form/sales/pages/service_charge_staircasing_spec.rb
  19. 2
      spec/models/form/sales/questions/deposit_amount_spec.rb
  20. 2
      spec/models/form/sales/questions/extra_borrowing_spec.rb
  21. 2
      spec/models/form/sales/questions/gender_description_spec.rb
  22. 2
      spec/models/form/sales/questions/gender_same_as_sex_spec.rb
  23. 2
      spec/models/form/sales/questions/has_leasehold_charges_spec.rb
  24. 13
      spec/models/form/sales/questions/has_service_charge_spec.rb
  25. 4
      spec/models/form/sales/questions/has_service_charges_changed_spec.rb
  26. 2
      spec/models/form/sales/questions/leasehold_charges_spec.rb
  27. 2
      spec/models/form/sales/questions/living_before_purchase_spec.rb
  28. 2
      spec/models/form/sales/questions/living_before_purchase_years_spec.rb
  29. 2
      spec/models/form/sales/questions/mortgage_amount_spec.rb
  30. 2
      spec/models/form/sales/questions/mortgage_length_spec.rb
  31. 8
      spec/models/form/sales/questions/mortgageused_spec.rb
  32. 4
      spec/models/form/sales/questions/new_service_charges_spec.rb
  33. 2
      spec/models/form/sales/questions/person_age_known_spec.rb
  34. 2
      spec/models/form/sales/questions/person_age_spec.rb
  35. 2
      spec/models/form/sales/questions/person_gender_identity_spec.rb
  36. 2
      spec/models/form/sales/questions/person_relationship_to_buyer1_spec.rb
  37. 2
      spec/models/form/sales/questions/person_relationship_to_buyer1_yes_no_spec.rb
  38. 2
      spec/models/form/sales/questions/person_sex_registered_at_birth_spec.rb
  39. 6
      spec/models/form/sales/questions/person_working_situation_spec.rb
  40. 2
      spec/models/form/sales/questions/purchase_price_spec.rb
  41. 13
      spec/models/form/sales/questions/service_charge_spec.rb

2
spec/models/form/sales/pages/buyer1_gender_same_as_sex_spec.rb

@ -7,7 +7,7 @@ RSpec.describe Form::Sales::Pages::Buyer1GenderSameAsSex, type: :model do
let(:page_id) { nil }
let(:page_definition) { nil }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: current_collection_start_date)) }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: current_collection_start_date, person_question_count: 4)) }
it "has correct subsection" do
expect(page.subsection).to eq(subsection)

2
spec/models/form/sales/pages/buyer2_gender_same_as_sex_spec.rb

@ -7,7 +7,7 @@ RSpec.describe Form::Sales::Pages::Buyer2GenderSameAsSex, type: :model do
let(:page_id) { nil }
let(:page_definition) { nil }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: current_collection_start_date)) }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: current_collection_start_date, person_question_count: 4)) }
it "has correct subsection" do
expect(page.subsection).to eq(subsection)

4
spec/models/form/sales/pages/deposit_spec.rb

@ -5,8 +5,8 @@ RSpec.describe Form::Sales::Pages::Deposit, type: :model do
let(:page_id) { nil }
let(:page_definition) { nil }
let(:subsection) { instance_double(Form::Subsection, enabled?: true, depends_on: true) }
let(:form) { instance_double(Form, start_year_2024_or_later?: false, start_date: Time.zone.local(2023, 4, 1), depends_on_met: true) }
let(:subsection) { instance_double(Form::Subsection, enabled?: true, depends_on: true, id: "shared_ownership_initial_purchase") }
let(:form) { instance_double(Form, start_year_2024_or_later?: false, start_date: Time.zone.local(2023, 4, 1), depends_on_met: true, start_year_2026_or_later?: false) }
let(:optional) { false }
before do

2
spec/models/form/sales/pages/extra_borrowing_spec.rb

@ -5,7 +5,7 @@ RSpec.describe Form::Sales::Pages::ExtraBorrowing, 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, id: "shared_ownership_initial_purchase", form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1), start_year_2026_or_later?: false)) }
it "has correct subsection" do
expect(page.subsection).to eq(subsection)

2
spec/models/form/sales/pages/leasehold_charges_spec.rb

@ -5,7 +5,7 @@ RSpec.describe Form::Sales::Pages::LeaseholdCharges, 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, id: "shared_ownership_initial_purchase", form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1), start_year_2026_or_later?: false)) }
it "has correct subsection" do
expect(page.subsection).to eq(subsection)

2
spec/models/form/sales/pages/mortgage_amount_spec.rb

@ -5,7 +5,7 @@ RSpec.describe Form::Sales::Pages::MortgageAmount, 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, id: "shared_ownership_initial_purchase", form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1), start_year_2026_or_later?: false)) }
it "has correct subsection" do
expect(page.subsection).to eq(subsection)

2
spec/models/form/sales/pages/mortgage_length_spec.rb

@ -5,7 +5,7 @@ RSpec.describe Form::Sales::Pages::MortgageLength, 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, id: "shared_ownership_initial_purchase", form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1), start_year_2026_or_later?: false)) }
it "has correct subsection" do
expect(page.subsection).to eq(subsection)

2
spec/models/form/sales/pages/person_age_spec.rb

@ -5,7 +5,7 @@ RSpec.describe Form::Sales::Pages::PersonAge, type: :model do
let(:page_id) { "person_1_age" }
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), person_question_count: 4)) }
let(:person_index) { 1 }
it "has correct subsection" do

2
spec/models/form/sales/pages/person_gender_identity_spec.rb

@ -4,7 +4,7 @@ RSpec.describe Form::Sales::Pages::PersonGenderIdentity, type: :model do
subject(:page) { described_class.new(page_id, page_definition, subsection, person_index:) }
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), person_question_count: 4)) }
let(:person_index) { 1 }
let(:page_id) { "person_2_gender_identity" }

2
spec/models/form/sales/pages/person_gender_same_as_sex_spec.rb

@ -6,7 +6,7 @@ RSpec.describe Form::Sales::Pages::PersonGenderSameAsSex, type: :model do
subject(:page) { described_class.new(page_id, page_definition, subsection, person_index:) }
let(:page_definition) { nil }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: current_collection_start_date)) }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: current_collection_start_date, person_question_count: 4)) }
let(:person_index) { 2 }
let(:page_id) { "person_2_gender_same_as_sex" }

2
spec/models/form/sales/pages/person_relationship_to_buyer1_spec.rb

@ -4,7 +4,7 @@ RSpec.describe Form::Sales::Pages::PersonRelationshipToBuyer1, type: :model do
subject(:page) { described_class.new(page_id, page_definition, subsection, person_index:) }
let(:page_definition) { nil }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1), start_year_2024_or_later?: false)) }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1), start_year_2024_or_later?: false, person_question_count: 4)) }
let(:person_index) { 1 }
let(:page_id) { "person_1_relationship_to_buyer_1" }

2
spec/models/form/sales/pages/person_relationship_to_buyer1_yes_no_spec.rb

@ -4,7 +4,7 @@ RSpec.describe Form::Sales::Pages::PersonRelationshipToBuyer1YesNo, type: :model
subject(:page) { described_class.new(page_id, page_definition, subsection, person_index:) }
let(:page_definition) { nil }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2025, 4, 1))) }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2025, 4, 1), person_question_count: 4)) }
let(:person_index) { 1 }
let(:page_id) { "person_1_relationship_to_buyer_1" }

2
spec/models/form/sales/pages/person_sex_registered_at_birth_spec.rb

@ -4,7 +4,7 @@ RSpec.describe Form::Sales::Pages::PersonSexRegisteredAtBirth, type: :model do
subject(:page) { described_class.new(page_id, page_definition, subsection, person_index:) }
let(:page_definition) { nil }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2026, 4, 1))) }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2026, 4, 1), person_question_count: 4)) }
let(:person_index) { 1 }
let(:page_id) { "person_2_sex_registered_at_birth" }

2
spec/models/form/sales/pages/person_working_situation_spec.rb

@ -4,7 +4,7 @@ RSpec.describe Form::Sales::Pages::PersonWorkingSituation, type: :model do
subject(:page) { described_class.new(page_id, page_definition, subsection, person_index:) }
let(:page_definition) { nil }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1), start_year_2025_or_later?: false)) }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1), start_year_2025_or_later?: false, person_question_count: 4)) }
let(:person_index) { 2 }
let(:page_id) { "person_2_working_situation" }

2
spec/models/form/sales/pages/purchase_price_outright_ownership_spec.rb

@ -5,7 +5,7 @@ RSpec.describe Form::Sales::Pages::PurchasePriceOutrightOwnership, type: :model
let(:page_id) { "purchase_price" }
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, id: "discounted_ownership_scheme", form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1), start_year_2026_or_later?: false)) }
it "has correct subsection" do
expect(page.subsection).to eq(subsection)

2
spec/models/form/sales/pages/purchase_price_spec.rb

@ -8,7 +8,7 @@ RSpec.describe Form::Sales::Pages::PurchasePrice, type: :model do
let(:subsection) { instance_double(Form::Subsection) }
before do
allow(subsection).to receive(:form).and_return(instance_double(Form, start_year_2024_or_later?: false, start_date: Time.zone.local(2023, 4, 1)))
allow(subsection).to receive_messages(form: instance_double(Form, start_year_2024_or_later?: false, start_date: Time.zone.local(2023, 4, 1), start_year_2026_or_later?: false), id: "discounted_ownership_scheme")
end
it "has correct subsection" do

2
spec/models/form/sales/pages/service_charge_spec.rb

@ -5,7 +5,7 @@ RSpec.describe Form::Sales::Pages::ServiceCharge, 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, id: "shared_ownership_initial_purchase", form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1), start_year_2026_or_later?: false)) }
it "has correct subsection" do
expect(page.subsection).to eq(subsection)

2
spec/models/form/sales/pages/service_charge_staircasing_spec.rb

@ -5,7 +5,7 @@ RSpec.describe Form::Sales::Pages::ServiceChargeStaircasing, 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(2026, 4, 1))) }
let(:subsection) { instance_double(Form::Subsection, id: "shared_ownership_staircasing_transaction", form: instance_double(Form, start_date: Time.zone.local(2026, 4, 1), start_year_2026_or_later?: true)) }
it "has correct subsection" do
expect(page.subsection).to eq(subsection)

2
spec/models/form/sales/questions/deposit_amount_spec.rb

@ -6,7 +6,7 @@ RSpec.describe Form::Sales::Questions::DepositAmount, type: :model do
let(:optional) { false }
let(:question_id) { nil }
let(:question_definition) { nil }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1)))) }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, id: "shared_ownership_initial_purchase", form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1), start_year_2026_or_later?: false))) }
context "when the ownership type is shared" do
let(:log) { build(:sales_log, :completed, ownershipsch: 1, mortgageused: 2) }

2
spec/models/form/sales/questions/extra_borrowing_spec.rb

@ -5,7 +5,7 @@ RSpec.describe Form::Sales::Questions::ExtraBorrowing, type: :model do
let(:question_id) { nil }
let(:question_definition) { nil }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1)))) }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, id: "shared_ownership_initial_purchase", form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1), start_year_2026_or_later?: false))) }
it "has correct page" do
expect(question.page).to eq(page)

2
spec/models/form/sales/questions/gender_description_spec.rb

@ -10,7 +10,7 @@ RSpec.describe Form::Sales::Questions::GenderDescription, type: :model do
let(:page) { instance_double(Form::Page) }
let(:person_index) { 2 }
let(:subsection) { instance_double(Form::Subsection) }
let(:form) { instance_double(Form, start_date: current_collection_start_date) }
let(:form) { instance_double(Form, start_date: current_collection_start_date, person_question_count: 4) }
before do
allow(page).to receive(:subsection).and_return(subsection)

2
spec/models/form/sales/questions/gender_same_as_sex_spec.rb

@ -10,7 +10,7 @@ RSpec.describe Form::Sales::Questions::GenderSameAsSex, type: :model do
let(:page) { instance_double(Form::Page) }
let(:person_index) { 2 }
let(:subsection) { instance_double(Form::Subsection) }
let(:form) { instance_double(Form, start_date: current_collection_start_date) }
let(:form) { instance_double(Form, start_date: current_collection_start_date, person_question_count: 4) }
before do
allow(page).to receive(:subsection).and_return(subsection)

2
spec/models/form/sales/questions/has_leasehold_charges_spec.rb

@ -3,7 +3,7 @@ require "rails_helper"
RSpec.describe Form::Sales::Questions::HasLeaseholdCharges, type: :model do
subject(:question) { described_class.new(question_id, question_definition, page, ownershipsch: 1) }
let(:form) { instance_double(Form, start_date: Time.zone.local(2025, 4, 4)) }
let(:form) { instance_double(Form, start_date: Time.zone.local(2025, 4, 4), start_year_2026_or_later?: false) }
let(:question_id) { nil }
let(:question_definition) { nil }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, id: "shared_ownership", form:)) }

13
spec/models/form/sales/questions/has_service_charge_spec.rb

@ -5,7 +5,7 @@ RSpec.describe Form::Sales::Questions::HasServiceCharge, type: :model do
let(:question_id) { nil }
let(:question_definition) { nil }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date:)) }
let(:subsection) { instance_double(Form::Subsection, id: "shared_ownership_initial_purchase", form: instance_double(Form, start_date:, start_year_2026_or_later?: false)) }
let(:page) { instance_double(Form::Page, subsection:) }
let(:start_date) { Time.utc(2025, 5, 1) }
let(:staircasing) { false }
@ -67,24 +67,23 @@ RSpec.describe Form::Sales::Questions::HasServiceCharge, type: :model do
context "with 2026/27 form" do
let(:start_date) { Time.utc(2026, 4, 1) }
before do
allow(subsection.form).to receive(:start_year_2026_or_later?).and_return(true)
end
let(:subsection) { instance_double(Form::Subsection, id: subsection_id, form: instance_double(Form, start_date:, start_year_2026_or_later?: true)) }
context "when staircasing" do
let(:staircasing) { true }
let(:subsection_id) { "shared_ownership_staircasing_transaction" }
it "has the correct question number" do
expect(question.question_number).to eq(0)
expect(question.question_number).to eq(110)
end
end
context "when not staircasing" do
let(:staircasing) { false }
let(:subsection_id) { "shared_ownership_initial_purchase" }
it "has the correct question number" do
expect(question.question_number).to eq(0)
expect(question.question_number).to eq(96)
end
end
end

4
spec/models/form/sales/questions/has_service_charges_changed_spec.rb

@ -7,7 +7,7 @@ RSpec.describe Form::Sales::Questions::HasServiceChargesChanged, type: :model do
let(:question_id) { nil }
let(:question_definition) { nil }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date:)) }
let(:subsection) { instance_double(Form::Subsection, id: "shared_ownership_staircasing_transaction", form: instance_double(Form, start_date:, start_year_2026_or_later?: true)) }
let(:page) { instance_double(Form::Page, subsection:) }
let(:start_date) { collection_start_date_for_year(2026) }
@ -51,6 +51,6 @@ RSpec.describe Form::Sales::Questions::HasServiceChargesChanged, type: :model do
end
it "has the correct question number" do
expect(question.question_number).to eq(0)
expect(question.question_number).to eq(113)
end
end

2
spec/models/form/sales/questions/leasehold_charges_spec.rb

@ -5,7 +5,7 @@ RSpec.describe Form::Sales::Questions::LeaseholdCharges, type: :model do
let(:question_id) { nil }
let(:question_definition) { nil }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1)))) }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, id: "shared_ownership_initial_purchase", form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1), start_year_2026_or_later?: false))) }
it "has correct page" do
expect(question.page).to eq(page)

2
spec/models/form/sales/questions/living_before_purchase_spec.rb

@ -5,7 +5,7 @@ RSpec.describe Form::Sales::Questions::LivingBeforePurchase, type: :model do
let(:question_id) { nil }
let(:question_definition) { nil }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1)))) }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, id: "shared_ownership_initial_purchase", form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1), start_year_2026_or_later?: false))) }
it "has correct page" do
expect(question.page).to eq(page)

2
spec/models/form/sales/questions/living_before_purchase_years_spec.rb

@ -6,7 +6,7 @@ RSpec.describe Form::Sales::Questions::LivingBeforePurchaseYears, type: :model d
let(:question_id) { nil }
let(:question_definition) { nil }
let(:start_date) { Time.utc(2024, 2, 8) }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date:)) }
let(:subsection) { instance_double(Form::Subsection, id: "shared_ownership_initial_purchase", form: instance_double(Form, start_date:, start_year_2026_or_later?: false)) }
let(:page) { instance_double(Form::Page, subsection:) }
context "when 2022" do

2
spec/models/form/sales/questions/mortgage_amount_spec.rb

@ -5,7 +5,7 @@ RSpec.describe Form::Sales::Questions::MortgageAmount, type: :model do
let(:question_id) { nil }
let(:question_definition) { nil }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1)))) }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, id: "shared_ownership_initial_purchase", form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1), start_year_2026_or_later?: false))) }
it "has correct page" do
expect(question.page).to be(page)

2
spec/models/form/sales/questions/mortgage_length_spec.rb

@ -5,7 +5,7 @@ RSpec.describe Form::Sales::Questions::MortgageLength, type: :model do
let(:question_id) { nil }
let(:question_definition) { nil }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1)))) }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, id: "shared_ownership_initial_purchase", form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1), start_year_2026_or_later?: false))) }
it "has correct page" do
expect(question.page).to eq(page)

8
spec/models/form/sales/questions/mortgageused_spec.rb

@ -11,7 +11,7 @@ RSpec.describe Form::Sales::Questions::Mortgageused, type: :model do
let(:log) { build(:sales_log, :in_progress, ownershipsch:, stairowned:, staircase:) }
context "when the form start year is 2024" do
let(:form) { instance_double(Form, start_date: Time.zone.local(2024, 4, 1)) }
let(:form) { instance_double(Form, start_date: Time.zone.local(2024, 4, 1), start_year_2026_or_later?: false) }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form:, id: "shared_ownership")) }
let(:saledate) { Time.zone.local(2024, 5, 1) }
let(:ownershipsch) { 1 }
@ -93,9 +93,10 @@ RSpec.describe Form::Sales::Questions::Mortgageused, type: :model do
end
context "when the form start year is 2025" do
let(:form) { instance_double(Form, start_date: Time.zone.local(2025, 4, 1)) }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form:, id: "shared_ownership")) }
let(:form) { instance_double(Form, start_date: Time.zone.local(2025, 4, 1), start_year_2026_or_later?: false) }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form:, id: subsection_id)) }
let(:saledate) { Time.zone.local(2025, 5, 1) }
let(:subsection_id) { "shared_ownership_initial_purchase" }
before do
allow(form).to receive_messages(start_year_2024_or_later?: true, start_year_2025_or_later?: true)
@ -103,6 +104,7 @@ RSpec.describe Form::Sales::Questions::Mortgageused, type: :model do
context "when it is a discounted ownership sale" do
let(:ownershipsch) { 2 }
let(:subsection_id) { "discounted_ownership_scheme" }
it "shows the correct question number" do
expect(question.question_number).to eq 106

4
spec/models/form/sales/questions/new_service_charges_spec.rb

@ -7,7 +7,7 @@ RSpec.describe Form::Sales::Questions::NewServiceCharges, type: :model do
let(:question_id) { nil }
let(:question_definition) { nil }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date:)) }
let(:subsection) { instance_double(Form::Subsection, id: "shared_ownership_staircasing_transaction", form: instance_double(Form, start_date:, start_year_2026_or_later?: true)) }
let(:page) { instance_double(Form::Page, subsection:) }
let(:start_date) { collection_start_date_for_year(2026) }
@ -48,6 +48,6 @@ RSpec.describe Form::Sales::Questions::NewServiceCharges, type: :model do
end
it "has the correct question number" do
expect(question.question_number).to eq(0)
expect(question.question_number).to eq(113)
end
end

2
spec/models/form/sales/questions/person_age_known_spec.rb

@ -5,7 +5,7 @@ RSpec.describe Form::Sales::Questions::PersonAgeKnown, type: :model do
let(:question_id) { "age3_known" }
let(:question_definition) { nil }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1)))) }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1), person_question_count: 4))) }
let(:person_index) { 2 }
it "has correct page" do

2
spec/models/form/sales/questions/person_age_spec.rb

@ -5,7 +5,7 @@ RSpec.describe Form::Sales::Questions::PersonAge, type: :model do
let(:question_id) { "age3" }
let(:question_definition) { nil }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1), start_year_2024_or_later?: false))) }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1), start_year_2024_or_later?: false, person_question_count: 4))) }
let(:person_index) { 2 }
it "has correct page" do

2
spec/models/form/sales/questions/person_gender_identity_spec.rb

@ -8,7 +8,7 @@ RSpec.describe Form::Sales::Questions::PersonGenderIdentity, type: :model do
let(:page) { instance_double(Form::Page) }
let(:person_index) { 2 }
let(:subsection) { instance_double(Form::Subsection) }
let(:form) { instance_double(Form, start_date: Time.zone.local(2023, 4, 1)) }
let(:form) { instance_double(Form, start_date: Time.zone.local(2023, 4, 1), person_question_count: 4) }
before do
allow(page).to receive(:subsection).and_return(subsection)

2
spec/models/form/sales/questions/person_relationship_to_buyer1_spec.rb

@ -5,7 +5,7 @@ RSpec.describe Form::Sales::Questions::PersonRelationshipToBuyer1, type: :model
let(:question_id) { "relat2" }
let(:question_definition) { nil }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1), start_year_2024_or_later?: false))) }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1), start_year_2024_or_later?: false, person_question_count: 4))) }
let(:person_index) { 2 }
it "has correct page" do

2
spec/models/form/sales/questions/person_relationship_to_buyer1_yes_no_spec.rb

@ -5,7 +5,7 @@ RSpec.describe Form::Sales::Questions::PersonRelationshipToBuyer1YesNo, type: :m
let(:question_id) { "relat2" }
let(:question_definition) { nil }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2025, 4, 1)))) }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2025, 4, 1), person_question_count: 4))) }
let(:person_index) { 2 }
it "has correct page" do

2
spec/models/form/sales/questions/person_sex_registered_at_birth_spec.rb

@ -8,7 +8,7 @@ RSpec.describe Form::Sales::Questions::PersonSexRegisteredAtBirth, type: :model
let(:page) { instance_double(Form::Page) }
let(:person_index) { 2 }
let(:subsection) { instance_double(Form::Subsection) }
let(:form) { instance_double(Form, start_date: Time.zone.local(2026, 4, 1)) }
let(:form) { instance_double(Form, start_date: Time.zone.local(2026, 4, 1), person_question_count: 4) }
before do
allow(page).to receive(:subsection).and_return(subsection)

6
spec/models/form/sales/questions/person_working_situation_spec.rb

@ -5,7 +5,7 @@ RSpec.describe Form::Sales::Questions::PersonWorkingSituation, type: :model do
let(:question_id) { "ecstat2" }
let(:question_definition) { nil }
let(:form) { instance_double(Form, start_date: Time.zone.local(2024, 4, 1), start_year_2025_or_later?: false) }
let(:form) { instance_double(Form, start_date: Time.zone.local(2024, 4, 1), start_year_2025_or_later?: false, person_question_count: 4) }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form:)) }
let(:person_index) { 2 }
@ -43,7 +43,7 @@ RSpec.describe Form::Sales::Questions::PersonWorkingSituation, type: :model do
end
context "with start year before 2025" do
let(:form) { instance_double(Form, start_date: Time.zone.local(2024, 4, 1), start_year_2025_or_later?: false) }
let(:form) { instance_double(Form, start_date: Time.zone.local(2024, 4, 1), start_year_2025_or_later?: false, person_question_count: 4) }
it "uses the old ordering for answer options" do
expect(question.answer_options.keys).to eq(%w[1 2 3 4 6 8 5 0 10 7 9])
@ -51,7 +51,7 @@ RSpec.describe Form::Sales::Questions::PersonWorkingSituation, type: :model do
end
context "with start year from 2025" do
let(:form) { instance_double(Form, start_date: Time.zone.local(2025, 4, 1), start_year_2025_or_later?: true) }
let(:form) { instance_double(Form, start_date: Time.zone.local(2025, 4, 1), start_year_2025_or_later?: true, person_question_count: 4) }
it "uses the new ordering for answer options" do
expect(question.answer_options.keys).to eq(%w[1 2 3 4 5 6 7 8 9 0 10])

2
spec/models/form/sales/questions/purchase_price_spec.rb

@ -5,7 +5,7 @@ RSpec.describe Form::Sales::Questions::PurchasePrice, type: :model do
let(:question_id) { nil }
let(:question_definition) { nil }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1)))) }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, id: "shared_ownership_initial_purchase", form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1), start_year_2026_or_later?: false))) }
it "has correct page" do
expect(question.page).to eq(page)

13
spec/models/form/sales/questions/service_charge_spec.rb

@ -5,7 +5,7 @@ RSpec.describe Form::Sales::Questions::ServiceCharge, type: :model do
let(:question_id) { nil }
let(:question_definition) { nil }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date:)) }
let(:subsection) { instance_double(Form::Subsection, id: "shared_ownership_initial_purchase", form: instance_double(Form, start_date:, start_year_2026_or_later?: false)) }
let(:page) { instance_double(Form::Page, subsection:) }
let(:start_date) { Time.utc(2023, 4, 1) }
let(:staircasing) { false }
@ -56,24 +56,23 @@ RSpec.describe Form::Sales::Questions::ServiceCharge, type: :model do
context "with 2026/27 form" do
let(:start_date) { Time.utc(2026, 4, 1) }
before do
allow(subsection.form).to receive(:start_year_2026_or_later?).and_return(true)
end
let(:subsection) { instance_double(Form::Subsection, id: subsection_id, form: instance_double(Form, start_date:, start_year_2026_or_later?: true)) }
context "when staircasing" do
let(:staircasing) { true }
let(:subsection_id) { "shared_ownership_staircasing_transaction" }
it "has the correct question number" do
expect(question.question_number).to eq(0)
expect(question.question_number).to eq(110)
end
end
context "when not staircasing" do
let(:staircasing) { false }
let(:subsection_id) { "shared_ownership_initial_purchase" }
it "has the correct question number" do
expect(question.question_number).to eq(0)
expect(question.question_number).to eq(96)
end
end
end

Loading…
Cancel
Save