Browse Source

CLDC-1980: Add income and benefits CYA label (#3172)

* CLDC-1980: copy setup from CLDC-4200

* CLDC-1980: add All buyers labels

* CLDC-1980: add All buyers labels to soft validations for 2026 onwards

* CLDC-1980: update tests

* CLDC-1980: update base q tests

* CLDC-1980: reduce number of questions changed to first per section

* CLDC-1980: undo redundant test changes

* CLDC-1980: add new required args to page specs

* CLDC-1980: add new required args to page specs
pull/3180/merge
Nat Dean-Lewis 2 days ago committed by GitHub
parent
commit
71138476d4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 2
      app/models/form/sales/questions/deposit_value_check.rb
  2. 1
      app/models/form/sales/questions/housing_benefits.rb
  3. 2
      app/models/form/sales/questions/savings_value_check.rb
  4. 2
      spec/models/form/sales/pages/deposit_value_check_spec.rb
  5. 2
      spec/models/form/sales/pages/housing_benefits_spec.rb
  6. 2
      spec/models/form/sales/pages/savings_value_check_spec.rb
  7. 28
      spec/models/form/sales/questions/deposit_value_check_spec.rb
  8. 31
      spec/models/form/sales/questions/housing_benefits_spec.rb
  9. 28
      spec/models/form/sales/questions/savings_value_check_spec.rb

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

@ -18,6 +18,6 @@ class Form::Sales::Questions::DepositValueCheck < ::Form::Question
}, },
], ],
} }
@check_answers_card_number = 0 @check_answers_card_number = 0 unless form.start_year_2026_or_later?
end end
end end

1
app/models/form/sales/questions/housing_benefits.rb

@ -5,6 +5,7 @@ class Form::Sales::Questions::HousingBenefits < ::Form::Question
@copy_key = "sales.income_benefits_and_savings.housing_benefits.#{joint_purchase ? 'joint_purchase' : 'not_joint_purchase'}" @copy_key = "sales.income_benefits_and_savings.housing_benefits.#{joint_purchase ? 'joint_purchase' : 'not_joint_purchase'}"
@type = "radio" @type = "radio"
@answer_options = ANSWER_OPTIONS @answer_options = ANSWER_OPTIONS
@check_answers_card_title = "All buyers" if form.start_year_2026_or_later?
@question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max]
end end

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

@ -18,6 +18,6 @@ class Form::Sales::Questions::SavingsValueCheck < ::Form::Question
}, },
], ],
} }
@check_answers_card_number = 0 @check_answers_card_number = 0 unless form.start_year_2026_or_later?
end end
end end

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

@ -5,7 +5,7 @@ RSpec.describe Form::Sales::Pages::DepositValueCheck, type: :model do
let(:page_id) { "deposit_value_check" } let(:page_id) { "deposit_value_check" }
let(:page_definition) { nil } let(:page_definition) { nil }
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(:subsection) { instance_double(Form::Subsection, form:) } let(:subsection) { instance_double(Form::Subsection, form:) }
it "has correct subsection" do it "has correct subsection" do

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

@ -5,7 +5,7 @@ RSpec.describe Form::Sales::Pages::HousingBenefits, type: :model do
let(:page_id) { "provided_id" } let(:page_id) { "provided_id" }
let(:page_definition) { 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), start_year_2026_or_later?: false)) }
let(:joint_purchase) { false } let(:joint_purchase) { false }
it "has correct subsection" do it "has correct subsection" do

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

@ -5,7 +5,7 @@ RSpec.describe Form::Sales::Pages::SavingsValueCheck, type: :model do
let(:page_id) { "savings_value_check" } let(:page_id) { "savings_value_check" }
let(:page_definition) { nil } let(:page_definition) { nil }
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(:subsection) { instance_double(Form::Subsection, form:) } let(:subsection) { instance_double(Form::Subsection, form:) }
it "has correct subsection" do it "has correct subsection" do

28
spec/models/form/sales/questions/deposit_value_check_spec.rb

@ -6,6 +6,14 @@ RSpec.describe Form::Sales::Questions::DepositValueCheck, type: :model do
let(:question_id) { nil } let(:question_id) { nil }
let(:question_definition) { nil } let(:question_definition) { nil }
let(:page) { instance_double(Form::Page) } let(:page) { instance_double(Form::Page) }
let(:subsection) { instance_double(Form::Subsection) }
let(:form) { instance_double(Form) }
before do
allow(form).to receive(:start_year_2026_or_later?).and_return(true)
allow(page).to receive(:subsection).and_return(subsection)
allow(subsection).to receive(:form).and_return(form)
end
it "has correct page" do it "has correct page" do
expect(question.page).to eq(page) expect(question.page).to eq(page)
@ -23,8 +31,24 @@ RSpec.describe Form::Sales::Questions::DepositValueCheck, type: :model do
expect(question.derived?(nil)).to be false expect(question.derived?(nil)).to be false
end end
it "has a correct check_answers_card_number" do context "when in 2025", { year: 25 } do
expect(question.check_answers_card_number).to eq(0) before do
allow(form).to receive(:start_year_2026_or_later?).and_return(false)
end
it "has check_answers_card_number set to 0" do
expect(question.check_answers_card_number).to eq(0)
end
end
context "when in 2026", { year: 26 } do
before do
allow(form).to receive(:start_year_2026_or_later?).and_return(true)
end
it "does not have a check_answers_card_number" do
expect(question.check_answers_card_number).to be_nil
end
end end
it "has the correct answer_options" do it "has the correct answer_options" do

31
spec/models/form/sales/questions/housing_benefits_spec.rb

@ -5,9 +5,18 @@ RSpec.describe Form::Sales::Questions::HousingBenefits, type: :model do
let(:question_id) { nil } let(:question_id) { nil }
let(:question_definition) { 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) }
let(:subsection) { instance_double(Form::Subsection) }
let(:form) { instance_double(Form) }
let(:joint_purchase) { false } let(:joint_purchase) { false }
before do
allow(form).to receive(:start_year_2026_or_later?).and_return(true)
allow(form).to receive(:start_date).and_return(Time.zone.local(2023, 4, 1))
allow(page).to receive(:subsection).and_return(subsection)
allow(subsection).to receive(:form).and_return(form)
end
it "has correct page" do it "has correct page" do
expect(question.page).to eq(page) expect(question.page).to eq(page)
end end
@ -24,6 +33,26 @@ RSpec.describe Form::Sales::Questions::HousingBenefits, type: :model do
expect(question.derived?(nil)).to be false expect(question.derived?(nil)).to be false
end end
context "when in 2025", { year: 25 } do
before do
allow(form).to receive(:start_year_2026_or_later?).and_return(false)
end
it "does not have a check_answers_card_title" do
expect(question.check_answers_card_title).to be_nil
end
end
context "when in 2026", { year: 26 } do
before do
allow(form).to receive(:start_year_2026_or_later?).and_return(true)
end
it "has check_answers_card_title set to 'All buyers'" do
expect(question.check_answers_card_title).to eq("All buyers")
end
end
it "has the correct answer_options" do it "has the correct answer_options" do
expect(question.answer_options).to eq({ expect(question.answer_options).to eq({
"2" => { "value" => "Housing benefit" }, "2" => { "value" => "Housing benefit" },

28
spec/models/form/sales/questions/savings_value_check_spec.rb

@ -6,6 +6,14 @@ RSpec.describe Form::Sales::Questions::SavingsValueCheck, type: :model do
let(:question_id) { nil } let(:question_id) { nil }
let(:question_definition) { nil } let(:question_definition) { nil }
let(:page) { instance_double(Form::Page) } let(:page) { instance_double(Form::Page) }
let(:subsection) { instance_double(Form::Subsection) }
let(:form) { instance_double(Form) }
before do
allow(form).to receive(:start_year_2026_or_later?).and_return(true)
allow(page).to receive(:subsection).and_return(subsection)
allow(subsection).to receive(:form).and_return(form)
end
it "has correct page" do it "has correct page" do
expect(question.page).to eq(page) expect(question.page).to eq(page)
@ -23,8 +31,24 @@ RSpec.describe Form::Sales::Questions::SavingsValueCheck, type: :model do
expect(question.derived?(nil)).to be false expect(question.derived?(nil)).to be false
end end
it "has a correct check_answers_card_number" do context "when in 2025", { year: 25 } do
expect(question.check_answers_card_number).to eq(0) before do
allow(form).to receive(:start_year_2026_or_later?).and_return(false)
end
it "has check_answers_card_number set to 0" do
expect(question.check_answers_card_number).to eq(0)
end
end
context "when in 2026", { year: 26 } do
before do
allow(form).to receive(:start_year_2026_or_later?).and_return(true)
end
it "does not have a check_answers_card_number" do
expect(question.check_answers_card_number).to be_nil
end
end end
it "has the correct answer_options" do it "has the correct answer_options" do

Loading…
Cancel
Save