Browse Source

CLDC-4318: update min for 26 onwards and test (#3257)

pull/3260/head
Nat Dean-Lewis 3 weeks ago committed by GitHub
parent
commit
9600112cda
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  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