diff --git a/app/models/form/sales/pages/person_known.rb b/app/models/form/sales/pages/person_known.rb index 2594e304d..a837e70c5 100644 --- a/app/models/form/sales/pages/person_known.rb +++ b/app/models/form/sales/pages/person_known.rb @@ -12,6 +12,23 @@ class Form::Sales::Pages::PersonKnown < Form::Sales::Pages::Person end def depends_on - [{ "jointpur" => 2 }] if @person_index == 2 + if @person_index == 2 + [{ "jointpur" => 2, + "hholdcount" => { + "operator" => ">=", + "operand" => 1, + } }] + else + [{ "jointpur" => 2, + "hholdcount" => { + "operator" => ">=", + "operand" => @person_index - 1, + } }, + { "jointpur" => 1, + "hholdcount" => { + "operator" => ">=", + "operand" => @person_index - 2, + } }] + end end end diff --git a/spec/models/form/sales/pages/person_known_spec.rb b/spec/models/form/sales/pages/person_known_spec.rb index 09dec443a..718383dca 100644 --- a/spec/models/form/sales/pages/person_known_spec.rb +++ b/spec/models/form/sales/pages/person_known_spec.rb @@ -38,7 +38,13 @@ RSpec.describe Form::Sales::Pages::PersonKnown, type: :model do end it "has correct depends_on" do - expect(page.depends_on).to eq([{ "jointpur" => 2 }]) + expect(page.depends_on).to eq([{ + "jointpur" => 2, + "hholdcount" => { + "operand" => 1, + "operator" => ">=", + }, + }]) end end @@ -59,7 +65,21 @@ RSpec.describe Form::Sales::Pages::PersonKnown, type: :model do end it "has correct depends_on" do - expect(page.depends_on).to be nil + expect(page.depends_on).to eq([ + { + "hholdcount" => { + "operand" => 2, + "operator" => ">=", + }, + "jointpur" => 2, + }, + { + "hholdcount" => + { "operand" => 1, + "operator" => ">=" }, + "jointpur" => 1, + }, + ]) end end @@ -80,7 +100,22 @@ RSpec.describe Form::Sales::Pages::PersonKnown, type: :model do end it "has correct depends_on" do - expect(page.depends_on).to be nil + expect(page.depends_on).to eq([ + { + "hholdcount" => { + "operand" => 3, + "operator" => ">=", + }, + "jointpur" => 2, + }, + { + "hholdcount" => { + "operand" => 2, + "operator" => ">=", + }, + "jointpur" => 1, + }, + ]) end end @@ -101,7 +136,20 @@ RSpec.describe Form::Sales::Pages::PersonKnown, type: :model do end it "has correct depends_on" do - expect(page.depends_on).to be nil + expect(page.depends_on).to eq([ + { + "hholdcount" => + { "operand" => 4, "operator" => ">=" }, + "jointpur" => 2, + }, + { + "hholdcount" => { + "operand" => 3, + "operator" => ">=", + }, + "jointpur" => 1, + }, + ]) end end end