Browse Source

Update 2024 staircase test and add 2025 test

pull/2751/head
Manny Dinssa 1 year ago
parent
commit
3d4e360e7e
  1. 2
      app/models/form/sales/questions/staircase.rb
  2. 66
      spec/models/form/sales/questions/staircase_spec.rb

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

@ -2,7 +2,7 @@ class Form::Sales::Questions::Staircase < ::Form::Question
def initialize(id, hsh, page)
super
@id = "staircase"
@copy_key = "sales.#{subsection.id}.staircasing"
@copy_key = "sales.#{page.subsection.id}.staircasing"
@type = "radio"
@question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max]
end

66
spec/models/form/sales/questions/staircase_spec.rb

@ -5,37 +5,55 @@ RSpec.describe Form::Sales::Questions::Staircase, 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)))) }
before do
allow(page.subsection.form).to receive(:start_year_2025_or_later?).and_return(false)
end
context "when start year is 2024" do
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1)), id: "sale_information" )) }
it "has correct page" do
expect(question.page).to eq(page)
end
before do
allow(page.subsection.form).to receive(:start_year_2025_or_later?).and_return(false)
end
it "has the correct id" do
expect(question.id).to eq("staircase")
end
it "has correct page" do
expect(question.page).to eq(page)
end
it "has the correct type" do
expect(question.type).to eq("radio")
end
it "has the correct id" do
expect(question.id).to eq("staircase")
end
it "is not marked as derived" do
expect(question.derived?(nil)).to be false
end
it "has the correct type" do
expect(question.type).to eq("radio")
end
it "has the correct answer_options" do
expect(question.answer_options).to eq({
"1" => { "value" => "Yes" },
"2" => { "value" => "No" },
"3" => { "value" => "Don’t know" },
})
it "is not marked as derived" do
expect(question.derived?(nil)).to be false
end
it "has the correct answer_options" do
expect(question.answer_options).to eq({
"1" => { "value" => "Yes" },
"2" => { "value" => "No" },
"3" => { "value" => "Don’t know" },
})
end
it "has correct conditional for" do
expect(question.conditional_for).to eq(nil)
end
end
it "has correct conditional for" do
expect(question.conditional_for).to eq(nil)
context "when start year is 2025" do
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1)), id: "setup" )) }
before do
allow(page.subsection.form).to receive(:start_year_2025_or_later?).and_return(true)
end
it "has the correct answer_options" do
expect(question.answer_options).to eq({
"1" => { "value" => "Yes" },
"2" => { "value" => "No" },
})
end
end
end

Loading…
Cancel
Save