Browse Source

CLDC-4318: update min for 26 onwards and test

pull/3257/head
Nat Dean-Lewis 2 months ago
parent
commit
6a9995de6b
  1. 2
      app/models/form/sales/questions/living_before_purchase_years.rb
  2. 51
      spec/models/form/sales/questions/living_before_purchase_years_spec.rb

2
app/models/form/sales/questions/living_before_purchase_years.rb

@ -4,7 +4,7 @@ class Form::Sales::Questions::LivingBeforePurchaseYears < ::Form::Question
@id = "proplen" @id = "proplen"
@copy_key = "sales.sale_information.living_before_purchase.#{joint_purchase ? 'joint_purchase' : 'not_joint_purchase'}.proplen" @copy_key = "sales.sale_information.living_before_purchase.#{joint_purchase ? 'joint_purchase' : 'not_joint_purchase'}.proplen"
@type = "numeric" @type = "numeric"
@min = 0 @min = form.start_year_2026_or_later? ? 1 : 0
@max = 80 @max = 80
@step = 1 @step = 1
@width = 5 @width = 5

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

@ -1,16 +1,15 @@
require "rails_helper" require "rails_helper"
RSpec.describe Form::Sales::Questions::LivingBeforePurchaseYears, type: :model do RSpec.describe Form::Sales::Questions::LivingBeforePurchaseYears, type: :model do
include CollectionTimeHelper
subject(:question) { described_class.new(question_id, question_definition, page, ownershipsch: 1, joint_purchase: true) } subject(:question) { described_class.new(question_id, question_definition, page, ownershipsch: 1, joint_purchase: true) }
let(:question_id) { nil } let(:question_id) { nil }
let(:question_definition) { nil } let(:question_definition) { nil }
let(:start_date) { Time.utc(2024, 2, 8) } let(:start_year) { current_collection_start_year }
let(:subsection) { instance_double(Form::Subsection, id: "shared_ownership_initial_purchase", form: instance_double(Form, start_date:, start_year_2026_or_later?: false)) } let(:start_year_2026_or_later?) { false }
let(:page) { instance_double(Form::Page, subsection:) } let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, id: "shared_ownership_initial_purchase", form: instance_double(Form, start_date: collection_start_date_for_year(start_year), start_year_2026_or_later?: start_year_2026_or_later?))) }
context "when 2022" do
let(:start_date) { Time.utc(2022, 2, 8) }
it "has correct page" do it "has correct page" do
expect(question.page).to eq(page) expect(question.page).to eq(page)
@ -36,48 +35,24 @@ RSpec.describe Form::Sales::Questions::LivingBeforePurchaseYears, type: :model d
expect(question.step).to eq(1) expect(question.step).to eq(1)
end end
it "has correct min" do
expect(question.min).to eq(0)
end
it "has correct max" do it "has correct max" do
expect(question.max).to eq(80) expect(question.max).to eq(80)
end end
end
context "when 2023" do context "with year 2025", metadata: { year: 25 } do
let(:start_date) { Time.utc(2023, 2, 8) } let(:start_year) { 2025 }
it "has correct page" do
expect(question.page).to eq(page)
end
it "has the correct id" do
expect(question.id).to eq("proplen")
end
it "has the correct type" do
expect(question.type).to eq("numeric")
end
it "is not marked as derived" do it "has correct min" do
expect(question.derived?(nil)).to be false expect(question.min).to eq(0)
end end
it "has correct width" do
expect(question.width).to eq(5)
end end
it "has correct step" do context "with year 2026", metadata: { year: 26 } do
expect(question.step).to eq(1) let(:start_year) { 2026 }
end let(:start_year_2026_or_later?) { true }
it "has correct min" do it "has correct min" do
expect(question.min).to eq(0) expect(question.min).to eq(1)
end
it "has correct max" do
expect(question.max).to eq(80)
end end
end end

Loading…
Cancel
Save