From b23464dca6dea21df9bf142ea7e0d7acc4db0107 Mon Sep 17 00:00:00 2001 From: Kat Date: Tue, 19 Mar 2024 16:07:48 +0000 Subject: [PATCH] Do not route renewals to previous postcode --- .../pages/previous_local_authority.rb | 2 +- .../form/lettings/pages/previous_postcode.rb | 5 +++ .../pages/previous_local_authority_spec.rb | 38 +++++++++++++++++++ .../lettings/pages/previous_postcode_spec.rb | 38 +++++++++++++++++++ 4 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 spec/models/form/lettings/pages/previous_local_authority_spec.rb create mode 100644 spec/models/form/lettings/pages/previous_postcode_spec.rb diff --git a/app/models/form/lettings/pages/previous_local_authority.rb b/app/models/form/lettings/pages/previous_local_authority.rb index 540857282..48233e64a 100644 --- a/app/models/form/lettings/pages/previous_local_authority.rb +++ b/app/models/form/lettings/pages/previous_local_authority.rb @@ -2,7 +2,7 @@ class Form::Lettings::Pages::PreviousLocalAuthority < ::Form::Page def initialize(id, hsh, subsection) super @id = "previous_local_authority" - @depends_on = [{ "is_previous_la_inferred" => false }] + @depends_on = [{ "is_previous_la_inferred" => false, "renewal" => 0 }] end def questions diff --git a/app/models/form/lettings/pages/previous_postcode.rb b/app/models/form/lettings/pages/previous_postcode.rb index 38be3ccbe..61d08f3a9 100644 --- a/app/models/form/lettings/pages/previous_postcode.rb +++ b/app/models/form/lettings/pages/previous_postcode.rb @@ -1,4 +1,9 @@ class Form::Lettings::Pages::PreviousPostcode < ::Form::Page + def initialize(id, hsh, page) + super + @depends_on = [{ "renewal" => 0 }] + end + def questions @questions ||= [ Form::Lettings::Questions::Ppcodenk.new(nil, nil, self), diff --git a/spec/models/form/lettings/pages/previous_local_authority_spec.rb b/spec/models/form/lettings/pages/previous_local_authority_spec.rb new file mode 100644 index 000000000..7c5649b3f --- /dev/null +++ b/spec/models/form/lettings/pages/previous_local_authority_spec.rb @@ -0,0 +1,38 @@ +require "rails_helper" + +RSpec.describe Form::Lettings::Pages::PreviousLocalAuthority, type: :model do + subject(:page) { described_class.new(page_id, page_definition, subsection) } + + let(:page_id) { nil } + let(:page_definition) { nil } + let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_year_after_2024?: false, start_date: Time.zone.local(2023, 4, 1))) } + + it "has correct subsection" do + expect(page.subsection).to eq(subsection) + end + + it "has correct questions" do + expect(page.questions.map(&:id)).to eq( + %w[ + previous_la_known + prevloc + ], + ) + end + + it "has the correct id" do + expect(page.id).to eq("previous_local_authority") + end + + it "has the correct header" do + expect(page.header).to be_nil + end + + it "has the correct description" do + expect(page.description).to be_nil + end + + it "has the correct depends_on" do + expect(page.depends_on).to match([{ "is_previous_la_inferred" => false, "renewal" => 0 }]) + end +end diff --git a/spec/models/form/lettings/pages/previous_postcode_spec.rb b/spec/models/form/lettings/pages/previous_postcode_spec.rb new file mode 100644 index 000000000..83a3f44f3 --- /dev/null +++ b/spec/models/form/lettings/pages/previous_postcode_spec.rb @@ -0,0 +1,38 @@ +require "rails_helper" + +RSpec.describe Form::Lettings::Pages::PreviousPostcode, type: :model do + subject(:page) { described_class.new(page_id, page_definition, subsection) } + + let(:page_id) { "previous_postcode" } + let(:page_definition) { nil } + let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_year_after_2024?: false, start_date: Time.zone.local(2023, 4, 1))) } + + it "has correct subsection" do + expect(page.subsection).to eq(subsection) + end + + it "has correct questions" do + expect(page.questions.map(&:id)).to eq( + %w[ + ppcodenk + ppostcode_full + ], + ) + end + + it "has the correct id" do + expect(page.id).to eq("previous_postcode") + end + + it "has the correct header" do + expect(page.header).to be_nil + end + + it "has the correct description" do + expect(page.description).to be_nil + end + + it "has the correct depends_on" do + expect(page.depends_on).to match([{ "renewal" => 0 }]) + end +end