Browse Source

CLDC-3717: Sales - Remove Q9 (Is the buyer a company?) (25/26) (#2755)

pull/2752/head^2
Manny Dinssa 2 months ago committed by GitHub
parent
commit
1a07e37049
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 7
      app/models/form/sales/pages/buyer_live.rb
  2. 20
      app/models/form/sales/pages/joint_purchase.rb
  3. 2
      app/models/form/sales/subsections/setup.rb
  4. 6
      config/locales/forms/2025/sales/setup.en.yml
  5. 58
      spec/models/form/sales/pages/buyer_live_spec.rb
  6. 60
      spec/models/form/sales/pages/joint_purchase_spec.rb
  7. 1
      spec/models/form/sales/subsections/setup_spec.rb

7
app/models/form/sales/pages/buyer_live.rb

@ -2,9 +2,10 @@ class Form::Sales::Pages::BuyerLive < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "buyer_live"
@depends_on = [{
"companybuy" => 2,
}]
end
def depends_on
[{ "companybuy" => 2 }] unless form.start_year_2025_or_later?
end
def questions

20
app/models/form/sales/pages/joint_purchase.rb

@ -2,11 +2,21 @@ class Form::Sales::Pages::JointPurchase < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "joint_purchase"
@depends_on = [
{ "ownershipsch" => 1 },
{ "ownershipsch" => 2 },
{ "companybuy" => 2 },
]
end
def depends_on
if form.start_year_2025_or_later?
[
{ "ownershipsch" => 1 },
{ "ownershipsch" => 2 },
]
else
[
{ "ownershipsch" => 1 },
{ "ownershipsch" => 2 },
{ "companybuy" => 2 },
]
end
end
def questions

2
app/models/form/sales/subsections/setup.rb

@ -17,7 +17,7 @@ class Form::Sales::Subsections::Setup < ::Form::Subsection
Form::Sales::Pages::SharedOwnershipType.new(nil, nil, self),
Form::Sales::Pages::DiscountedOwnershipType.new(nil, nil, self),
(Form::Sales::Pages::OutrightOwnershipType.new(nil, nil, self) unless form.start_year_2025_or_later?),
Form::Sales::Pages::BuyerCompany.new(nil, nil, self),
(Form::Sales::Pages::BuyerCompany.new(nil, nil, self) unless form.start_year_2025_or_later?),
(Form::Sales::Pages::BuyerLive.new(nil, nil, self) unless form.start_year_2025_or_later?),
Form::Sales::Pages::JointPurchase.new(nil, nil, self),
Form::Sales::Pages::NumberJointBuyers.new(nil, nil, self),

6
config/locales/forms/2025/sales/setup.en.yml

@ -57,12 +57,6 @@ en:
hint_text: ""
question_text: "What is the type of discounted ownership sale?"
companybuy:
page_header: ""
check_answer_label: "Company buyer"
hint_text: ""
question_text: "Is the buyer a company?"
jointpur:
page_header: ""
check_answer_label: "Joint purchase"

58
spec/models/form/sales/pages/buyer_live_spec.rb

@ -8,32 +8,50 @@ RSpec.describe Form::Sales::Pages::BuyerLive, type: :model do
let(:page_id) { nil }
let(:page_definition) { nil }
let(:subsection) { instance_double(Form::Subsection) }
let(:form) { instance_double(Form, start_date: current_collection_start_date) }
before do
allow(form).to receive(:start_year_2024_or_later?).and_return(true)
allow(subsection).to receive(:form).and_return(form)
end
context "when start year is 2024" do
let(:form) { instance_double(Form, start_date: Time.zone.local(2024, 4, 1)) }
it "has correct subsection" do
expect(page.subsection).to eq(subsection)
end
before do
allow(form).to receive(:start_year_2024_or_later?).and_return(true)
allow(form).to receive(:start_year_2025_or_later?).and_return(false)
allow(subsection).to receive(:form).and_return(form)
end
it "has correct questions" do
expect(page.questions.map(&:id)).to eq(%w[buylivein])
end
it "has correct subsection" do
expect(page.subsection).to eq(subsection)
end
it "has the correct id" do
expect(page.id).to eq("buyer_live")
end
it "has correct questions" do
expect(page.questions.map(&:id)).to eq(%w[buylivein])
end
it "has the correct description" do
expect(page.description).to be_nil
it "has the correct id" do
expect(page.id).to eq("buyer_live")
end
it "has the correct description" do
expect(page.description).to be_nil
end
it "has correct depends_on" do
expect(page.depends_on).to eq([{
"companybuy" => 2,
}])
end
end
it "has correct depends_on" do
expect(page.depends_on).to eq([{
"companybuy" => 2,
}])
context "when start year is 2025" do
let(:form) { instance_double(Form, start_date: Time.zone.local(2025, 4, 1)) }
before do
allow(form).to receive(:start_year_2024_or_later?).and_return(true)
allow(form).to receive(:start_year_2025_or_later?).and_return(true)
allow(subsection).to receive(:form).and_return(form)
end
it "has correct depends_on" do
expect(page.depends_on).to be_nil
end
end
end

60
spec/models/form/sales/pages/joint_purchase_spec.rb

@ -5,29 +5,53 @@ RSpec.describe Form::Sales::Pages::JointPurchase, type: :model do
let(:page_id) { nil }
let(:page_definition) { nil }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1))) }
it "has correct subsection" do
expect(page.subsection).to eq(subsection)
end
context "when start year is 2024" do
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2024, 4, 1))) }
it "has correct questions" do
expect(page.questions.map(&:id)).to eq(%w[jointpur])
end
before do
allow(subsection.form).to receive(:start_year_2024_or_later?).and_return(true)
allow(subsection.form).to receive(:start_year_2025_or_later?).and_return(false)
end
it "has the correct id" do
expect(page.id).to eq("joint_purchase")
end
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[jointpur])
end
it "has the correct description" do
expect(page.description).to be_nil
it "has the correct id" do
expect(page.id).to eq("joint_purchase")
end
it "has the correct description" do
expect(page.description).to be_nil
end
it "has correct depends_on" do
expect(page.depends_on).to eq([
{ "ownershipsch" => 1 },
{ "ownershipsch" => 2 },
{ "companybuy" => 2 },
])
end
end
it "has correct depends_on" do
expect(page.depends_on).to eq([
{ "ownershipsch" => 1 },
{ "ownershipsch" => 2 },
{ "companybuy" => 2 },
])
context "when start year is 2025" do
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2025, 4, 1))) }
before do
allow(subsection.form).to receive(:start_year_2024_or_later?).and_return(true)
allow(subsection.form).to receive(:start_year_2025_or_later?).and_return(true)
end
it "has correct depends_on" do
expect(page.depends_on).to eq([
{ "ownershipsch" => 1 },
{ "ownershipsch" => 2 },
])
end
end
end

1
spec/models/form/sales/subsections/setup_spec.rb

@ -96,7 +96,6 @@ RSpec.describe Form::Sales::Subsections::Setup, type: :model do
staircasing
shared_ownership_type
discounted_ownership_type
buyer_company
joint_purchase
number_joint_buyers
buyer_interview_joint_purchase

Loading…
Cancel
Save