Browse Source

Split about price rtb questions

pull/2547/head
Kat 2 years ago
parent
commit
f51b641a44
  1. 16
      app/models/form/sales/pages/discount.rb
  2. 5
      app/models/form/sales/pages/purchase_price.rb
  3. 3
      app/models/form/sales/subsections/discounted_ownership_scheme.rb
  4. 39
      spec/models/form/sales/pages/discount_spec.rb
  5. 6
      spec/models/form/sales/pages/purchase_price_spec.rb
  6. 3
      spec/models/form/sales/subsections/discounted_ownership_scheme_spec.rb

16
app/models/form/sales/pages/discount.rb

@ -0,0 +1,16 @@
class Form::Sales::Pages::Discount < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "discount"
@header = "About the price of the property"
@depends_on = [{
"right_to_buy?" => true,
}]
end
def questions
@questions ||= [
Form::Sales::Questions::Discount.new(nil, nil, self),
]
end
end

5
app/models/form/sales/pages/about_price_rtb.rb → app/models/form/sales/pages/purchase_price.rb

@ -1,7 +1,7 @@
class Form::Sales::Pages::AboutPriceRtb < ::Form::Page class Form::Sales::Pages::PurchasePrice < ::Form::Page
def initialize(id, hsh, subsection) def initialize(id, hsh, subsection)
super super
@id = "about_price_rtb" @id = "purchase_price"
@header = "About the price of the property" @header = "About the price of the property"
@depends_on = [{ @depends_on = [{
"right_to_buy?" => true, "right_to_buy?" => true,
@ -11,7 +11,6 @@ class Form::Sales::Pages::AboutPriceRtb < ::Form::Page
def questions def questions
@questions ||= [ @questions ||= [
Form::Sales::Questions::PurchasePrice.new(nil, nil, self, ownershipsch: 2), Form::Sales::Questions::PurchasePrice.new(nil, nil, self, ownershipsch: 2),
Form::Sales::Questions::Discount.new(nil, nil, self),
] ]
end end
end end

3
app/models/form/sales/subsections/discounted_ownership_scheme.rb

@ -10,7 +10,8 @@ class Form::Sales::Subsections::DiscountedOwnershipScheme < ::Form::Subsection
@pages ||= [ @pages ||= [
Form::Sales::Pages::LivingBeforePurchase.new("living_before_purchase_discounted_ownership_joint_purchase", nil, self, ownershipsch: 2, joint_purchase: true), Form::Sales::Pages::LivingBeforePurchase.new("living_before_purchase_discounted_ownership_joint_purchase", nil, self, ownershipsch: 2, joint_purchase: true),
Form::Sales::Pages::LivingBeforePurchase.new("living_before_purchase_discounted_ownership", nil, self, ownershipsch: 2, joint_purchase: false), Form::Sales::Pages::LivingBeforePurchase.new("living_before_purchase_discounted_ownership", nil, self, ownershipsch: 2, joint_purchase: false),
Form::Sales::Pages::AboutPriceRtb.new(nil, nil, self), Form::Sales::Pages::PurchasePrice.new(nil, nil, self),
Form::Sales::Pages::Discount.new(nil, nil, self),
Form::Sales::Pages::ExtraBorrowingValueCheck.new("extra_borrowing_price_value_check", nil, self), Form::Sales::Pages::ExtraBorrowingValueCheck.new("extra_borrowing_price_value_check", nil, self),
Form::Sales::Pages::PercentageDiscountValueCheck.new("percentage_discount_value_check", nil, self), Form::Sales::Pages::PercentageDiscountValueCheck.new("percentage_discount_value_check", nil, self),
Form::Sales::Pages::AboutPriceNotRtb.new(nil, nil, self), Form::Sales::Pages::AboutPriceNotRtb.new(nil, nil, self),

39
spec/models/form/sales/pages/discount_spec.rb

@ -0,0 +1,39 @@
require "rails_helper"
RSpec.describe Form::Sales::Pages::Discount, 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) }
before do
allow(subsection).to receive(:form).and_return(instance_double(Form, start_year_after_2024?: false, start_date: Time.zone.local(2023, 4, 1)))
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[discount])
end
it "has the correct id" do
expect(page.id).to eq("discount")
end
it "has the correct header" do
expect(page.header).to eq("About the price of the property")
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([{
"right_to_buy?" => true,
}])
end
end

6
spec/models/form/sales/pages/about_price_rtb_spec.rb → spec/models/form/sales/pages/purchase_price_spec.rb

@ -1,6 +1,6 @@
require "rails_helper" require "rails_helper"
RSpec.describe Form::Sales::Pages::AboutPriceRtb, type: :model do RSpec.describe Form::Sales::Pages::PurchasePrice, type: :model do
subject(:page) { described_class.new(page_id, page_definition, subsection) } subject(:page) { described_class.new(page_id, page_definition, subsection) }
let(:page_id) { nil } let(:page_id) { nil }
@ -16,11 +16,11 @@ RSpec.describe Form::Sales::Pages::AboutPriceRtb, type: :model do
end end
it "has correct questions" do it "has correct questions" do
expect(page.questions.map(&:id)).to eq(%w[value discount]) expect(page.questions.map(&:id)).to eq(%w[value])
end end
it "has the correct id" do it "has the correct id" do
expect(page.id).to eq("about_price_rtb") expect(page.id).to eq("purchase_price")
end end
it "has the correct header" do it "has the correct header" do

3
spec/models/form/sales/subsections/discounted_ownership_scheme_spec.rb

@ -16,7 +16,8 @@ RSpec.describe Form::Sales::Subsections::DiscountedOwnershipScheme, type: :model
%w[ %w[
living_before_purchase_discounted_ownership_joint_purchase living_before_purchase_discounted_ownership_joint_purchase
living_before_purchase_discounted_ownership living_before_purchase_discounted_ownership
about_price_rtb purchase_price
discount
extra_borrowing_price_value_check extra_borrowing_price_value_check
percentage_discount_value_check percentage_discount_value_check
about_price_not_rtb about_price_not_rtb

Loading…
Cancel
Save