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

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

@ -10,7 +10,8 @@ class Form::Sales::Subsections::DiscountedOwnershipScheme < ::Form::Subsection
@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", 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::PercentageDiscountValueCheck.new("percentage_discount_value_check", 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"
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) }
let(:page_id) { nil }
@ -16,11 +16,11 @@ RSpec.describe Form::Sales::Pages::AboutPriceRtb, type: :model do
end
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
it "has the correct id" do
expect(page.id).to eq("about_price_rtb")
expect(page.id).to eq("purchase_price")
end
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[
living_before_purchase_discounted_ownership_joint_purchase
living_before_purchase_discounted_ownership
about_price_rtb
purchase_price
discount
extra_borrowing_price_value_check
percentage_discount_value_check
about_price_not_rtb

Loading…
Cancel
Save