5 changed files with 33 additions and 74 deletions
@ -1,22 +1,22 @@ |
|||||||
class Form::Sales::Pages::NumberOfOthersInProperty < ::Form::Page |
class Form::Sales::Pages::NumberOfOthersInProperty < ::Form::Page |
||||||
def initialize(id, hsh, subsection) |
def initialize(id, hsh, subsection, joint_purchase:) |
||||||
super |
super(id, hsh, subsection) |
||||||
@id = "number_of_others_in_property" |
|
||||||
@depends_on = [ |
@depends_on = [ |
||||||
{ |
{ |
||||||
"privacynotice" => 1, |
"privacynotice" => 1, |
||||||
"jointpur" => 2, |
"jointpur" => joint_purchase ? 1 : 2, |
||||||
}, |
}, |
||||||
{ |
{ |
||||||
"noint" => 1, |
"noint" => 1, |
||||||
"jointpur" => 2, |
"jointpur" => joint_purchase ? 1 : 2, |
||||||
}, |
}, |
||||||
] |
] |
||||||
|
@joint_purchase = joint_purchase |
||||||
end |
end |
||||||
|
|
||||||
def questions |
def questions |
||||||
@questions ||= [ |
@questions ||= [ |
||||||
Form::Sales::Questions::NumberOfOthersInProperty.new(nil, nil, self, joint_purchase: false), |
Form::Sales::Questions::NumberOfOthersInProperty.new(nil, nil, self, joint_purchase: @joint_purchase), |
||||||
] |
] |
||||||
end |
end |
||||||
end |
end |
||||||
|
|||||||
@ -1,22 +0,0 @@ |
|||||||
class Form::Sales::Pages::NumberOfOthersInPropertyJointPurchase < ::Form::Page |
|
||||||
def initialize(id, hsh, subsection) |
|
||||||
super |
|
||||||
@id = "number_of_others_in_property_joint_purchase" |
|
||||||
@depends_on = [ |
|
||||||
{ |
|
||||||
"privacynotice" => 1, |
|
||||||
"jointpur" => 1, |
|
||||||
}, |
|
||||||
{ |
|
||||||
"noint" => 1, |
|
||||||
"jointpur" => 1, |
|
||||||
}, |
|
||||||
] |
|
||||||
end |
|
||||||
|
|
||||||
def questions |
|
||||||
@questions ||= [ |
|
||||||
Form::Sales::Questions::NumberOfOthersInProperty.new(nil, nil, self, joint_purchase: true), |
|
||||||
] |
|
||||||
end |
|
||||||
end |
|
||||||
@ -1,42 +0,0 @@ |
|||||||
require "rails_helper" |
|
||||||
|
|
||||||
RSpec.describe Form::Sales::Pages::NumberOfOthersInPropertyJointPurchase, 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) } |
|
||||||
|
|
||||||
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[hholdcount]) |
|
||||||
end |
|
||||||
|
|
||||||
it "has the correct id" do |
|
||||||
expect(page.id).to eq("number_of_others_in_property_joint_purchase") |
|
||||||
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 eq([ |
|
||||||
{ |
|
||||||
"privacynotice" => 1, |
|
||||||
"jointpur" => 1, |
|
||||||
}, |
|
||||||
{ |
|
||||||
"noint" => 1, |
|
||||||
"jointpur" => 1, |
|
||||||
}, |
|
||||||
]) |
|
||||||
end |
|
||||||
end |
|
||||||
Loading…
Reference in new issue