Browse Source

test: update tests

pull/1103/head
natdeanlewissoftwire 3 years ago
parent
commit
746f8e8df0
  1. 264
      spec/models/form/sales/pages/person_known_spec.rb
  2. 4
      spec/models/form/sales/pages/person_working_situation_spec.rb

264
spec/models/form/sales/pages/person_known_spec.rb

@ -3,117 +3,229 @@ require "rails_helper"
RSpec.describe Form::Sales::Pages::PersonKnown, type: :model do RSpec.describe Form::Sales::Pages::PersonKnown, type: :model do
subject(:page) { described_class.new(page_id, page_definition, subsection, person_index:) } subject(:page) { described_class.new(page_id, page_definition, subsection, person_index:) }
let(:page_id) { "person_2_known" } context "without joint purchase" do
let(:page_definition) { nil } let(:page_id) { "person_2_known" }
let(:subsection) { instance_double(Form::Subsection) } let(:page_definition) { nil }
let(:person_index) { 1 } let(:subsection) { instance_double(Form::Subsection) }
let(:person_index) { 1 }
it "has correct subsection" do it "has correct subsection" do
expect(page.subsection).to eq(subsection) expect(page.subsection).to eq(subsection)
end end
it "has the correct header" do it "has the correct header" do
expect(page.header).to eq("") expect(page.header).to eq("")
end end
it "has the correct description" do it "has the correct description" do
expect(page.description).to eq("") expect(page.description).to eq("")
end end
context "with person 1" do context "with person 1" do
let(:page_id) { "person_1_known" } let(:page_id) { "person_1_known" }
let(:person_index) { 1 } let(:person_index) { 2 }
it "has correct questions" do
expect(page.questions.map(&:id)).to eq(%w[details_known_1])
end
it "has the correct id" do
expect(page.id).to eq("person_1_known")
end
it "has correct questions" do it "has the correct header_partial" do
expect(page.questions.map(&:id)).to eq(%w[details_known_1]) expect(page.header_partial).to eq("person_1_known_page")
end
it "has correct depends_on" do
expect(page.depends_on).to eq(
[
{ "hholdcount" => 1, "jointpur" => 2 }, { "hholdcount" => 2, "jointpur" => 2 }, { "hholdcount" => 3, "jointpur" => 2 }, { "hholdcount" => 4, "jointpur" => 2 }
],
)
end
end end
it "has the correct id" do context "with person 2" do
expect(page.id).to eq("person_1_known") let(:page_id) { "person_2_known" }
let(:person_index) { 3 }
it "has correct questions" do
expect(page.questions.map(&:id)).to eq(%w[details_known_2])
end
it "has the correct id" do
expect(page.id).to eq("person_2_known")
end
it "has the correct header_partial" do
expect(page.header_partial).to eq("person_2_known_page")
end
it "has correct depends_on" do
expect(page.depends_on).to eq(
[{ "hholdcount" => 2, "jointpur" => 2 }, { "hholdcount" => 3, "jointpur" => 2 }, { "hholdcount" => 4, "jointpur" => 2 }],
)
end
end end
it "has the correct header_partial" do context "with person 3" do
expect(page.header_partial).to eq("person_1_known_page") let(:page_id) { "person_3_known" }
let(:person_index) { 4 }
it "has correct questions" do
expect(page.questions.map(&:id)).to eq(%w[details_known_3])
end
it "has the correct id" do
expect(page.id).to eq("person_3_known")
end
it "has the correct header_partial" do
expect(page.header_partial).to eq("person_3_known_page")
end
it "has correct depends_on" do
expect(page.depends_on).to eq(
[{ "hholdcount" => 3, "jointpur" => 2 }, { "hholdcount" => 4, "jointpur" => 2 }],
)
end
end end
it "has correct depends_on" do context "with person 4" do
expect(page.depends_on).to eq( let(:page_id) { "person_4_known" }
[ let(:person_index) { 5 }
{ "hholdcount" => 1 },
{ "hholdcount" => 2 }, it "has correct questions" do
{ "hholdcount" => 3 }, expect(page.questions.map(&:id)).to eq(%w[details_known_4])
{ "hholdcount" => 4 }, end
],
) it "has the correct id" do
expect(page.id).to eq("person_4_known")
end
it "has the correct header_partial" do
expect(page.header_partial).to eq("person_4_known_page")
end
it "has correct depends_on" do
expect(page.depends_on).to eq(
[{ "hholdcount" => 4, "jointpur" => 2 }],
)
end
end end
end end
context "with person 2" do context "with joint purchase" do
let(:page_id) { "person_2_known" } let(:page_id) { "person_2_known" }
let(:person_index) { 2 } let(:page_definition) { nil }
let(:subsection) { instance_double(Form::Subsection) }
let(:person_index) { 1 }
it "has correct questions" do it "has correct subsection" do
expect(page.questions.map(&:id)).to eq(%w[details_known_2]) expect(page.subsection).to eq(subsection)
end end
it "has the correct id" do it "has the correct header" do
expect(page.id).to eq("person_2_known") expect(page.header).to eq("")
end end
it "has the correct header_partial" do it "has the correct description" do
expect(page.header_partial).to eq("person_2_known_page") expect(page.description).to eq("")
end end
it "has correct depends_on" do context "with person 1" do
expect(page.depends_on).to eq( let(:page_id) { "person_1_known_joint_purchase" }
[{ "hholdcount" => 2 }, { "hholdcount" => 3 }, { "hholdcount" => 4 }], let(:person_index) { 3 }
)
end
end
context "with person 3" do it "has correct questions" do
let(:page_id) { "person_3_known" } expect(page.questions.map(&:id)).to eq(%w[details_known_1])
let(:person_index) { 3 } end
it "has correct questions" do it "has the correct id" do
expect(page.questions.map(&:id)).to eq(%w[details_known_3]) expect(page.id).to eq("person_1_known_joint_purchase")
end end
it "has the correct id" do it "has the correct header_partial" do
expect(page.id).to eq("person_3_known") expect(page.header_partial).to eq("person_1_known_page")
end end
it "has the correct header_partial" do it "has correct depends_on" do
expect(page.header_partial).to eq("person_3_known_page") expect(page.depends_on).to eq(
[
{ "hholdcount" => 1, "jointpur" => 1 }, { "hholdcount" => 2, "jointpur" => 1 }, { "hholdcount" => 3, "jointpur" => 1 }, { "hholdcount" => 4, "jointpur" => 1 }
],
)
end
end end
it "has correct depends_on" do context "with person 2" do
expect(page.depends_on).to eq( let(:page_id) { "person_2_known_joint_purchase" }
[{ "hholdcount" => 3 }, { "hholdcount" => 4 }], let(:person_index) { 4 }
)
end
end
context "with person 4" do it "has correct questions" do
let(:page_id) { "person_4_known" } expect(page.questions.map(&:id)).to eq(%w[details_known_2])
let(:person_index) { 4 } end
it "has correct questions" do it "has the correct id" do
expect(page.questions.map(&:id)).to eq(%w[details_known_4]) expect(page.id).to eq("person_2_known_joint_purchase")
end end
it "has the correct header_partial" do
expect(page.header_partial).to eq("person_2_known_page")
end
it "has the correct id" do it "has correct depends_on" do
expect(page.id).to eq("person_4_known") expect(page.depends_on).to eq(
[{ "hholdcount" => 2, "jointpur" => 1 }, { "hholdcount" => 3, "jointpur" => 1 }, { "hholdcount" => 4, "jointpur" => 1 }],
)
end
end end
it "has the correct header_partial" do context "with person 3" do
expect(page.header_partial).to eq("person_4_known_page") let(:page_id) { "person_3_known_joint_purchase" }
let(:person_index) { 5 }
it "has correct questions" do
expect(page.questions.map(&:id)).to eq(%w[details_known_3])
end
it "has the correct id" do
expect(page.id).to eq("person_3_known_joint_purchase")
end
it "has the correct header_partial" do
expect(page.header_partial).to eq("person_3_known_page")
end
it "has correct depends_on" do
expect(page.depends_on).to eq(
[{ "hholdcount" => 3, "jointpur" => 1 }, { "hholdcount" => 4, "jointpur" => 1 }],
)
end
end end
it "has correct depends_on" do context "with person 4" do
expect(page.depends_on).to eq( let(:page_id) { "person_4_known_joint_purchase" }
[{ "hholdcount" => 4 }], let(:person_index) { 6 }
)
it "has correct questions" do
expect(page.questions.map(&:id)).to eq(%w[details_known_4])
end
it "has the correct id" do
expect(page.id).to eq("person_4_known_joint_purchase")
end
it "has the correct header_partial" do
expect(page.header_partial).to eq("person_4_known_page")
end
it "has correct depends_on" do
expect(page.depends_on).to eq(
[{ "hholdcount" => 4, "jointpur" => 1 }],
)
end
end end
end end
end end

4
spec/models/form/sales/pages/person_working_situation_spec.rb

@ -35,7 +35,7 @@ RSpec.describe Form::Sales::Pages::PersonWorkingSituation, type: :model do
end end
it "has correct depends_on" do it "has correct depends_on" do
expect(page.depends_on).to eq([{ "hholdcount" => 1, "jointpur" => 2 }, { "hholdcount" => 2, "jointpur" => 2 }, { "hholdcount" => 3, "jointpur" => 2 }, { "hholdcount" => 4, "jointpur" => 2 }]) expect(page.depends_on).to eq([{ "details_known_1" => 1, "jointpur" => 2 }])
end end
end end
@ -119,7 +119,7 @@ RSpec.describe Form::Sales::Pages::PersonWorkingSituation, type: :model do
end end
it "has correct depends_on" do it "has correct depends_on" do
expect(page.depends_on).to eq([{ "hholdcount" => 1, "jointpur" => 1 }, { "hholdcount" => 2, "jointpur" => 1 }, { "hholdcount" => 3, "jointpur" => 1 }, { "hholdcount" => 4, "jointpur" => 1 }]) expect(page.depends_on).to eq([{ "details_known_1" => 1, "jointpur" => 1 }])
end end
end end

Loading…
Cancel
Save