Browse Source

test: update tests and refactor

CLDC-1528-person-1-relationship-to-buyer-1
natdeanlewissoftwire 2 years ago
parent
commit
509f9db7db
  1. 5
      app/models/form/sales/pages/person1_relationship_to_buyer1.rb
  2. 5
      app/models/form/sales/pages/person1_relationship_to_buyer1_joint_purchase.rb
  3. 2
      db/schema.rb
  4. 4
      spec/models/form/sales/pages/person1_age_spec.rb
  5. 8
      spec/models/form/sales/pages/person1_known_spec.rb
  6. 4
      spec/models/form/sales/pages/person2_age_spec.rb
  7. 6
      spec/models/form/sales/pages/person2_known_spec.rb
  8. 4
      spec/models/form/sales/pages/person3_age_spec.rb
  9. 3
      spec/models/form/sales/pages/person3_known_spec.rb
  10. 4
      spec/models/form/sales/pages/person4_age_spec.rb
  11. 2
      spec/models/form/sales/pages/person4_known_spec.rb
  12. 12
      spec/models/form/sales/questions/person1_age_known_spec.rb
  13. 8
      spec/models/form/sales/questions/person1_age_spec.rb
  14. 2
      spec/models/form/sales/questions/person1_gender_identity_spec.rb
  15. 4
      spec/models/form/sales/questions/person1_known_spec.rb
  16. 10
      spec/models/form/sales/questions/person2_age_known_spec.rb
  17. 8
      spec/models/form/sales/questions/person2_age_spec.rb
  18. 4
      spec/models/form/sales/questions/person2_known_spec.rb
  19. 10
      spec/models/form/sales/questions/person3_age_known_spec.rb
  20. 8
      spec/models/form/sales/questions/person3_age_spec.rb
  21. 4
      spec/models/form/sales/questions/person3_known_spec.rb
  22. 10
      spec/models/form/sales/questions/person4_age_known_spec.rb
  23. 8
      spec/models/form/sales/questions/person4_age_spec.rb
  24. 4
      spec/models/form/sales/questions/person4_known_spec.rb
  25. 8
      spec/models/form/sales/subsections/household_characteristics_spec.rb
  26. 4
      spec/models/form_handler_spec.rb

5
app/models/form/sales/pages/person1_relationship_to_buyer1.rb

@ -6,10 +6,7 @@ class Form::Sales::Pages::Person1RelationshipToBuyer1 < ::Form::Page
@description = ""
@subsection = subsection
@depends_on = [
{ "hholdcount" => 1, "jointpur" => 2 },
{ "hholdcount" => 2, "jointpur" => 2 },
{ "hholdcount" => 3, "jointpur" => 2 },
{ "hholdcount" => 4, "jointpur" => 2 },
{ "details_known_1" => 1, "jointpur" => 2 },
]
end

5
app/models/form/sales/pages/person1_relationship_to_buyer1_joint_purchase.rb

@ -6,10 +6,7 @@ class Form::Sales::Pages::Person1RelationshipToBuyer1JointPurchase < ::Form::Pag
@description = ""
@subsection = subsection
@depends_on = [
{ "hholdcount" => 1, "jointpur" => 1 },
{ "hholdcount" => 2, "jointpur" => 1 },
{ "hholdcount" => 3, "jointpur" => 1 },
{ "hholdcount" => 4, "jointpur" => 1 },
{ "details_known_1" => 1, "jointpur" => 1 },
]
end

2
db/schema.rb

@ -405,13 +405,13 @@ ActiveRecord::Schema[7.0].define(version: 2022_12_13_130736) do
t.integer "savingsnk"
t.integer "savings"
t.string "sex3"
t.bigint "updated_by_id"
t.integer "details_known_1"
t.string "relat3"
t.integer "income1_value_check"
t.integer "mortgage"
t.integer "inc2mort"
t.integer "mortgage_value_check"
t.bigint "updated_by_id"
t.index ["created_by_id"], name: "index_sales_logs_on_created_by_id"
t.index ["managing_organisation_id"], name: "index_sales_logs_on_managing_organisation_id"
t.index ["owning_organisation_id"], name: "index_sales_logs_on_owning_organisation_id"

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

@ -12,7 +12,7 @@ RSpec.describe Form::Sales::Pages::Person1Age, type: :model do
end
it "has correct questions" do
expect(page.questions.map(&:id)).to eq(%w[age3_known age3])
expect(page.questions.map(&:id)).to eq(%w[age2_known age2])
end
it "has the correct id" do
@ -30,7 +30,7 @@ RSpec.describe Form::Sales::Pages::Person1Age, type: :model do
it "has correct depends_on" do
expect(page.depends_on).to eq(
[
{ "details_known_1" => 1 },
{ "details_known_1" => 1, "jointpur" => 2 },
],
)
end

8
spec/models/form/sales/pages/person1_known_spec.rb

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

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

@ -12,7 +12,7 @@ RSpec.describe Form::Sales::Pages::Person2Age, type: :model do
end
it "has correct questions" do
expect(page.questions.map(&:id)).to eq(%w[age4_known age4])
expect(page.questions.map(&:id)).to eq(%w[age3_known age3])
end
it "has the correct id" do
@ -29,7 +29,7 @@ RSpec.describe Form::Sales::Pages::Person2Age, type: :model do
it "has correct depends_on" do
expect(page.depends_on).to eq(
[{ "details_known_2" => 1 }],
[{ "details_known_2" => 1, "jointpur" => 2 }],
)
end
end

6
spec/models/form/sales/pages/person2_known_spec.rb

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

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

@ -12,7 +12,7 @@ RSpec.describe Form::Sales::Pages::Person3Age, type: :model do
end
it "has correct questions" do
expect(page.questions.map(&:id)).to eq(%w[age5_known age5])
expect(page.questions.map(&:id)).to eq(%w[age4_known age4])
end
it "has the correct id" do
@ -29,7 +29,7 @@ RSpec.describe Form::Sales::Pages::Person3Age, type: :model do
it "has correct depends_on" do
expect(page.depends_on).to eq(
[{ "details_known_3" => 1 }],
[{ "details_known_3" => 1, "jointpur" => 2 }],
)
end
end

3
spec/models/form/sales/pages/person3_known_spec.rb

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

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

@ -12,7 +12,7 @@ RSpec.describe Form::Sales::Pages::Person4Age, type: :model do
end
it "has correct questions" do
expect(page.questions.map(&:id)).to eq(%w[age6_known age6])
expect(page.questions.map(&:id)).to eq(%w[age5_known age5])
end
it "has the correct id" do
@ -29,7 +29,7 @@ RSpec.describe Form::Sales::Pages::Person4Age, type: :model do
it "has correct depends_on" do
expect(page.depends_on).to eq(
[{ "details_known_4" => 1 }],
[{ "details_known_4" => 1, "jointpur" => 2 }],
)
end
end

2
spec/models/form/sales/pages/person4_known_spec.rb

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

12
spec/models/form/sales/questions/person1_age_known_spec.rb

@ -3,7 +3,7 @@ require "rails_helper"
RSpec.describe Form::Sales::Questions::Person1AgeKnown, type: :model do
subject(:question) { described_class.new(question_id, question_definition, page) }
let(:question_id) { nil }
let(:question_id) { "age2_known" }
let(:question_definition) { nil }
let(:page) { instance_double(Form::Page) }
@ -12,7 +12,7 @@ RSpec.describe Form::Sales::Questions::Person1AgeKnown, type: :model do
end
it "has the correct id" do
expect(question.id).to eq("age3_known")
expect(question.id).to eq("age2_known")
end
it "has the correct header" do
@ -40,7 +40,7 @@ RSpec.describe Form::Sales::Questions::Person1AgeKnown, type: :model do
it "has correct conditional for" do
expect(question.conditional_for).to eq({
"age3" => [0],
"age2" => [0],
})
end
@ -53,10 +53,10 @@ RSpec.describe Form::Sales::Questions::Person1AgeKnown, type: :model do
{
"depends_on" => [
{
"age3_known" => 0,
"age2_known" => 0,
},
{
"age3_known" => 1,
"age2_known" => 1,
},
],
},
@ -64,6 +64,6 @@ RSpec.describe Form::Sales::Questions::Person1AgeKnown, type: :model do
end
it "has the correct check_answers_card_number" do
expect(question.check_answers_card_number).to eq(3)
expect(question.check_answers_card_number).to eq(2)
end
end

8
spec/models/form/sales/questions/person1_age_spec.rb

@ -3,7 +3,7 @@ require "rails_helper"
RSpec.describe Form::Sales::Questions::Person1Age, type: :model do
subject(:question) { described_class.new(question_id, question_definition, page) }
let(:question_id) { nil }
let(:question_id) { "age2" }
let(:question_definition) { nil }
let(:page) { instance_double(Form::Page) }
@ -12,7 +12,7 @@ RSpec.describe Form::Sales::Questions::Person1Age, type: :model do
end
it "has the correct id" do
expect(question.id).to eq("age3")
expect(question.id).to eq("age2")
end
it "has the correct header" do
@ -41,12 +41,12 @@ RSpec.describe Form::Sales::Questions::Person1Age, type: :model do
it "has the correct inferred check answers value" do
expect(question.inferred_check_answers_value).to eq({
"condition" => { "age3_known" => 1 },
"condition" => { "age2_known" => 1 },
"value" => "Not known",
})
end
it "has the correct check_answers_card_number" do
expect(question.check_answers_card_number).to eq(3)
expect(question.check_answers_card_number).to eq(2)
end
end

2
spec/models/form/sales/questions/person1_gender_identity_spec.rb

@ -32,7 +32,7 @@ RSpec.describe Form::Sales::Questions::Person1GenderIdentity, type: :model do
end
it "has expected check answers card number" do
expect(question.check_answers_card_number).to eq(3)
expect(question.check_answers_card_number).to eq(2)
end
it "has the correct answer_options" do

4
spec/models/form/sales/questions/person1_known_spec.rb

@ -4,7 +4,7 @@ RSpec.describe Form::Sales::Questions::Person1Known, type: :model do
subject(:question) { described_class.new(question_id, question_definition, page) }
let(:question_id) { nil }
let(:question_definition) { nil }
let(:question_definition) { { check_answers_card_number: 2 } }
let(:page) { instance_double(Form::Page) }
it "has correct page" do
@ -59,6 +59,6 @@ RSpec.describe Form::Sales::Questions::Person1Known, type: :model do
end
it "has the correct check_answers_card_number" do
expect(question.check_answers_card_number).to eq(3)
expect(question.check_answers_card_number).to eq(2)
end
end

10
spec/models/form/sales/questions/person2_age_known_spec.rb

@ -3,7 +3,7 @@ require "rails_helper"
RSpec.describe Form::Sales::Questions::Person2AgeKnown, type: :model do
subject(:question) { described_class.new(question_id, question_definition, page) }
let(:question_id) { nil }
let(:question_id) { "age3_known" }
let(:question_definition) { nil }
let(:page) { instance_double(Form::Page) }
@ -12,7 +12,7 @@ RSpec.describe Form::Sales::Questions::Person2AgeKnown, type: :model do
end
it "has the correct id" do
expect(question.id).to eq("age4_known")
expect(question.id).to eq("age3_known")
end
it "has the correct header" do
@ -40,7 +40,7 @@ RSpec.describe Form::Sales::Questions::Person2AgeKnown, type: :model do
it "has correct conditional for" do
expect(question.conditional_for).to eq({
"age4" => [0],
"age3" => [0],
})
end
@ -51,12 +51,12 @@ RSpec.describe Form::Sales::Questions::Person2AgeKnown, type: :model do
it "has the correct hidden_in_check_answers" do
expect(question.hidden_in_check_answers).to eq(
{
"depends_on" => [{ "age4_known" => 0 }, { "age4_known" => 1 }],
"depends_on" => [{ "age3_known" => 0 }, { "age3_known" => 1 }],
},
)
end
it "has the correct check_answers_card_number" do
expect(question.check_answers_card_number).to eq(4)
expect(question.check_answers_card_number).to eq(3)
end
end

8
spec/models/form/sales/questions/person2_age_spec.rb

@ -3,7 +3,7 @@ require "rails_helper"
RSpec.describe Form::Sales::Questions::Person2Age, type: :model do
subject(:question) { described_class.new(question_id, question_definition, page) }
let(:question_id) { nil }
let(:question_id) { "age3" }
let(:question_definition) { nil }
let(:page) { instance_double(Form::Page) }
@ -12,7 +12,7 @@ RSpec.describe Form::Sales::Questions::Person2Age, type: :model do
end
it "has the correct id" do
expect(question.id).to eq("age4")
expect(question.id).to eq("age3")
end
it "has the correct header" do
@ -41,12 +41,12 @@ RSpec.describe Form::Sales::Questions::Person2Age, type: :model do
it "has the correct inferred check answers value" do
expect(question.inferred_check_answers_value).to eq({
"condition" => { "age4_known" => 1 },
"condition" => { "age3_known" => 1 },
"value" => "Not known",
})
end
it "has the correct check_answers_card_number" do
expect(question.check_answers_card_number).to eq(4)
expect(question.check_answers_card_number).to eq(3)
end
end

4
spec/models/form/sales/questions/person2_known_spec.rb

@ -4,7 +4,7 @@ RSpec.describe Form::Sales::Questions::Person2Known, type: :model do
subject(:question) { described_class.new(question_id, question_definition, page) }
let(:question_id) { nil }
let(:question_definition) { nil }
let(:question_definition) { { check_answers_card_number: 3 } }
let(:page) { instance_double(Form::Page) }
it "has correct page" do
@ -59,6 +59,6 @@ RSpec.describe Form::Sales::Questions::Person2Known, type: :model do
end
it "has the correct check_answers_card_number" do
expect(question.check_answers_card_number).to eq(4)
expect(question.check_answers_card_number).to eq(3)
end
end

10
spec/models/form/sales/questions/person3_age_known_spec.rb

@ -3,7 +3,7 @@ require "rails_helper"
RSpec.describe Form::Sales::Questions::Person3AgeKnown, type: :model do
subject(:question) { described_class.new(question_id, question_definition, page) }
let(:question_id) { nil }
let(:question_id) { "age4_known" }
let(:question_definition) { nil }
let(:page) { instance_double(Form::Page) }
@ -12,7 +12,7 @@ RSpec.describe Form::Sales::Questions::Person3AgeKnown, type: :model do
end
it "has the correct id" do
expect(question.id).to eq("age5_known")
expect(question.id).to eq("age4_known")
end
it "has the correct header" do
@ -40,7 +40,7 @@ RSpec.describe Form::Sales::Questions::Person3AgeKnown, type: :model do
it "has correct conditional for" do
expect(question.conditional_for).to eq({
"age5" => [0],
"age4" => [0],
})
end
@ -51,12 +51,12 @@ RSpec.describe Form::Sales::Questions::Person3AgeKnown, type: :model do
it "has the correct hidden_in_check_answers" do
expect(question.hidden_in_check_answers).to eq(
{
"depends_on" => [{ "age5_known" => 0 }, { "age5_known" => 1 }],
"depends_on" => [{ "age4_known" => 0 }, { "age4_known" => 1 }],
},
)
end
it "has the correct check_answers_card_number" do
expect(question.check_answers_card_number).to eq(5)
expect(question.check_answers_card_number).to eq(4)
end
end

8
spec/models/form/sales/questions/person3_age_spec.rb

@ -3,7 +3,7 @@ require "rails_helper"
RSpec.describe Form::Sales::Questions::Person3Age, type: :model do
subject(:question) { described_class.new(question_id, question_definition, page) }
let(:question_id) { nil }
let(:question_id) { "age4" }
let(:question_definition) { nil }
let(:page) { instance_double(Form::Page) }
@ -12,7 +12,7 @@ RSpec.describe Form::Sales::Questions::Person3Age, type: :model do
end
it "has the correct id" do
expect(question.id).to eq("age5")
expect(question.id).to eq("age4")
end
it "has the correct header" do
@ -41,12 +41,12 @@ RSpec.describe Form::Sales::Questions::Person3Age, type: :model do
it "has the correct inferred check answers value" do
expect(question.inferred_check_answers_value).to eq({
"condition" => { "age5_known" => 1 },
"condition" => { "age4_known" => 1 },
"value" => "Not known",
})
end
it "has the correct check_answers_card_number" do
expect(question.check_answers_card_number).to eq(5)
expect(question.check_answers_card_number).to eq(4)
end
end

4
spec/models/form/sales/questions/person3_known_spec.rb

@ -4,7 +4,7 @@ RSpec.describe Form::Sales::Questions::Person3Known, type: :model do
subject(:question) { described_class.new(question_id, question_definition, page) }
let(:question_id) { nil }
let(:question_definition) { nil }
let(:question_definition) { { check_answers_card_number: 4 } }
let(:page) { instance_double(Form::Page) }
it "has correct page" do
@ -59,6 +59,6 @@ RSpec.describe Form::Sales::Questions::Person3Known, type: :model do
end
it "has the correct check_answers_card_number" do
expect(question.check_answers_card_number).to eq(5)
expect(question.check_answers_card_number).to eq(4)
end
end

10
spec/models/form/sales/questions/person4_age_known_spec.rb

@ -3,7 +3,7 @@ require "rails_helper"
RSpec.describe Form::Sales::Questions::Person4AgeKnown, type: :model do
subject(:question) { described_class.new(question_id, question_definition, page) }
let(:question_id) { nil }
let(:question_id) { "age5_known" }
let(:question_definition) { nil }
let(:page) { instance_double(Form::Page) }
@ -12,7 +12,7 @@ RSpec.describe Form::Sales::Questions::Person4AgeKnown, type: :model do
end
it "has the correct id" do
expect(question.id).to eq("age6_known")
expect(question.id).to eq("age5_known")
end
it "has the correct header" do
@ -40,7 +40,7 @@ RSpec.describe Form::Sales::Questions::Person4AgeKnown, type: :model do
it "has correct conditional for" do
expect(question.conditional_for).to eq({
"age6" => [0],
"age5" => [0],
})
end
@ -51,12 +51,12 @@ RSpec.describe Form::Sales::Questions::Person4AgeKnown, type: :model do
it "has the correct hidden_in_check_answers" do
expect(question.hidden_in_check_answers).to eq(
{
"depends_on" => [{ "age6_known" => 0 }, { "age6_known" => 1 }],
"depends_on" => [{ "age5_known" => 0 }, { "age5_known" => 1 }],
},
)
end
it "has the correct check_answers_card_number" do
expect(question.check_answers_card_number).to eq(6)
expect(question.check_answers_card_number).to eq(5)
end
end

8
spec/models/form/sales/questions/person4_age_spec.rb

@ -3,7 +3,7 @@ require "rails_helper"
RSpec.describe Form::Sales::Questions::Person4Age, type: :model do
subject(:question) { described_class.new(question_id, question_definition, page) }
let(:question_id) { nil }
let(:question_id) { "age5" }
let(:question_definition) { nil }
let(:page) { instance_double(Form::Page) }
@ -12,7 +12,7 @@ RSpec.describe Form::Sales::Questions::Person4Age, type: :model do
end
it "has the correct id" do
expect(question.id).to eq("age6")
expect(question.id).to eq("age5")
end
it "has the correct header" do
@ -41,12 +41,12 @@ RSpec.describe Form::Sales::Questions::Person4Age, type: :model do
it "has the correct inferred check answers value" do
expect(question.inferred_check_answers_value).to eq({
"condition" => { "age6_known" => 1 },
"condition" => { "age5_known" => 1 },
"value" => "Not known",
})
end
it "has the correct check_answers_card_number" do
expect(question.check_answers_card_number).to eq(6)
expect(question.check_answers_card_number).to eq(5)
end
end

4
spec/models/form/sales/questions/person4_known_spec.rb

@ -4,7 +4,7 @@ RSpec.describe Form::Sales::Questions::Person4Known, type: :model do
subject(:question) { described_class.new(question_id, question_definition, page) }
let(:question_id) { nil }
let(:question_definition) { nil }
let(:question_definition) { { check_answers_card_number: 5 } }
let(:page) { instance_double(Form::Page) }
it "has correct page" do
@ -59,6 +59,6 @@ RSpec.describe Form::Sales::Questions::Person4Known, type: :model do
end
it "has the correct check_answers_card_number" do
expect(question.check_answers_card_number).to eq(6)
expect(question.check_answers_card_number).to eq(5)
end
end

8
spec/models/form/sales/subsections/household_characteristics_spec.rb

@ -35,17 +35,25 @@ RSpec.describe Form::Sales::Subsections::HouseholdCharacteristics, type: :model
buyer_2_live_in_property
number_of_others_in_property
person_1_known
person_1_known_joint_purchase
person_1_relationship_to_buyer_1
person_1_relationship_to_buyer_1_joint_purchase
person_1_age
person_1_age_joint_purchase
person_1_gender_identity
person_1_gender_identity_joint_purchase
person_2_known
person_2_known_joint_purchase
person_2_age
person_2_age_joint_purchase
person_3_known
person_3_known_joint_purchase
person_3_age
person_3_age_joint_purchase
person_4_known
person_4_known_joint_purchase
person_4_age
person_4_age_joint_purchase
],
)
end

4
spec/models/form_handler_spec.rb

@ -52,14 +52,14 @@ RSpec.describe FormHandler do
it "is able to load a current sales form" do
form = form_handler.get_form("current_sales")
expect(form).to be_a(Form)
expect(form.pages.count).to eq(56)
expect(form.pages.count).to eq(66)
expect(form.name).to eq("2022_2023_sales")
end
it "is able to load a previous sales form" do
form = form_handler.get_form("previous_sales")
expect(form).to be_a(Form)
expect(form.pages.count).to eq(56)
expect(form.pages.count).to eq(66)
expect(form.name).to eq("2021_2022_sales")
end
end

Loading…
Cancel
Save