Browse Source

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

pull/3260/head
Nat Dean-Lewis 4 days 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. 91
      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"
@copy_key = "sales.sale_information.living_before_purchase.#{joint_purchase ? 'joint_purchase' : 'not_joint_purchase'}.proplen"
@type = "numeric"
@min = 0
@min = form.start_year_2026_or_later? ? 1 : 0
@max = 80
@step = 1
@width = 5

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

@ -1,83 +1,58 @@
require "rails_helper"
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) }
let(:question_id) { nil }
let(:question_definition) { nil }
let(:start_date) { Time.utc(2024, 2, 8) }
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_year) { current_collection_start_year }
let(:start_year_2026_or_later?) { false }
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
expect(question.page).to eq(page)
end
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 id" do
expect(question.id).to eq("proplen")
end
it "has the correct type" do
expect(question.type).to eq("numeric")
end
it "has the correct type" do
expect(question.type).to eq("numeric")
end
it "is not marked as derived" do
expect(question.derived?(nil)).to be false
end
it "is not marked as derived" do
expect(question.derived?(nil)).to be false
end
it "has correct width" do
expect(question.width).to eq(5)
end
it "has correct width" do
expect(question.width).to eq(5)
end
it "has correct step" do
expect(question.step).to eq(1)
end
it "has correct step" do
expect(question.step).to eq(1)
end
it "has correct max" do
expect(question.max).to eq(80)
end
context "with year 2025", metadata: { year: 25 } do
let(:start_year) { 2025 }
it "has correct min" do
expect(question.min).to eq(0)
end
it "has correct max" do
expect(question.max).to eq(80)
end
end
context "when 2023" do
let(:start_date) { Time.utc(2023, 2, 8) }
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
expect(question.derived?(nil)).to be false
end
it "has correct width" do
expect(question.width).to eq(5)
end
it "has correct step" do
expect(question.step).to eq(1)
end
context "with year 2026", metadata: { year: 26 } do
let(:start_year) { 2026 }
let(:start_year_2026_or_later?) { true }
it "has correct min" do
expect(question.min).to eq(0)
end
it "has correct max" do
expect(question.max).to eq(80)
expect(question.min).to eq(1)
end
end

Loading…
Cancel
Save