Browse Source

Merge branch 'main' into CLDC-3758-Add-shared-ownership-staircasing-transaction

pull/2793/head
Manny Dinssa 7 months ago
parent
commit
1227daa136
  1. 2
      Dockerfile
  2. 2
      app/models/form/sales/questions/staircase.rb
  3. 1
      app/models/form/sales/subsections/shared_ownership_scheme.rb
  4. 4
      app/models/form/subsection.rb
  5. 4
      spec/models/form/sales/pages/staircase_spec.rb
  6. 4
      spec/models/form/sales/questions/staircase_spec.rb

2
Dockerfile

@ -10,7 +10,7 @@ RUN apk add --update --no-cache tzdata && \
# build-base: compilation tools for bundle
# yarn: node package manager
# postgresql-dev: postgres driver and libraries
RUN apk add --no-cache build-base=0.5-r3 busybox=1.36.1-r7 nodejs-current=20.8.1-r0 yarn=1.22.19-r0 postgresql13-dev=13.16-r0 git=2.40.3-r0 bash=5.2.15-r5
RUN apk add --no-cache build-base=0.5-r3 busybox=1.36.1-r7 nodejs-current=20.8.1-r0 yarn=1.22.19-r0 postgresql13-dev=13.17-r0 git=2.40.3-r0 bash=5.2.15-r5
# Bundler version should be the same version as what the Gemfile.lock was bundled with
RUN gem install bundler:2.3.14 --no-document

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.#{page.subsection.id}.staircasing"
@copy_key = "sales.#{page.subsection.copy_key}.staircasing"
@type = "radio"
@question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max]
end

1
app/models/form/sales/subsections/shared_ownership_scheme.rb

@ -4,6 +4,7 @@ class Form::Sales::Subsections::SharedOwnershipScheme < ::Form::Subsection
@id = "shared_ownership_scheme"
@label = "Shared ownership scheme"
@depends_on = [{ "ownershipsch" => 1, "setup_completed?" => true }]
@copy_key = "sale_information"
end
def pages

4
app/models/form/subsection.rb

@ -14,6 +14,10 @@ class Form::Subsection
delegate :form, to: :section
def copy_key
@copy_key ||= @id
end
def questions
@questions ||= pages.flat_map(&:questions)
end

4
spec/models/form/sales/pages/staircase_spec.rb

@ -8,7 +8,7 @@ RSpec.describe Form::Sales::Pages::Staircase, type: :model do
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1))) }
context "when start year is 2024" do
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1)), id: "sale_information") }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1)), id: "shared_ownership_scheme", copy_key: "sale_information") }
before do
allow(subsection.form).to receive(:start_year_2025_or_later?).and_return(false)
@ -32,7 +32,7 @@ RSpec.describe Form::Sales::Pages::Staircase, type: :model do
end
context "when start year is >= 2025" do
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1)), id: "setup") }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1)), id: "setup", copy_key: "setup") }
before do
allow(subsection.form).to receive(:start_year_2025_or_later?).and_return(true)

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

@ -7,7 +7,7 @@ RSpec.describe Form::Sales::Questions::Staircase, type: :model do
let(:question_definition) { nil }
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(2024, 4, 1)), id: "sale_information")) }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2024, 4, 1)), id: "shared_ownership_scheme", copy_key: "sale_information")) }
before do
allow(page.subsection.form).to receive(:start_year_2025_or_later?).and_return(false)
@ -43,7 +43,7 @@ RSpec.describe Form::Sales::Questions::Staircase, type: :model do
end
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(2025, 4, 1)), id: "setup")) }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2025, 4, 1)), id: "setup", copy_key: "setup")) }
before do
allow(page.subsection.form).to receive(:start_year_2025_or_later?).and_return(true)

Loading…
Cancel
Save