diff --git a/app/models/form/sales/pages/buyer_interview.rb b/app/models/form/sales/pages/buyer_interview.rb index 2d20a9490..f9c4e3bbc 100644 --- a/app/models/form/sales/pages/buyer_interview.rb +++ b/app/models/form/sales/pages/buyer_interview.rb @@ -14,7 +14,7 @@ class Form::Sales::Pages::BuyerInterview < ::Form::Page if @joint_purchase [{ "joint_purchase?" => true }] else - [{ "not_joint_purchase?" => true }] + [{ "not_joint_purchase?" => true }, { "jointpur" => nil }] end end end diff --git a/app/models/form/sales/pages/deposit_value_check.rb b/app/models/form/sales/pages/deposit_value_check.rb index 43a60ee51..cca25a43b 100644 --- a/app/models/form/sales/pages/deposit_value_check.rb +++ b/app/models/form/sales/pages/deposit_value_check.rb @@ -37,7 +37,7 @@ class Form::Sales::Pages::DepositValueCheck < ::Form::Page if @joint_purchase [{ "joint_purchase?" => true, "deposit_over_soft_max?" => true }] else - [{ "not_joint_purchase?" => true, "deposit_over_soft_max?" => true }] + [{ "not_joint_purchase?" => true, "deposit_over_soft_max?" => true }, { "jointpur" => nil, "deposit_over_soft_max?" => true }] end end end diff --git a/app/models/form/sales/pages/housing_benefits.rb b/app/models/form/sales/pages/housing_benefits.rb index e2b72790f..90d721ad8 100644 --- a/app/models/form/sales/pages/housing_benefits.rb +++ b/app/models/form/sales/pages/housing_benefits.rb @@ -14,7 +14,7 @@ class Form::Sales::Pages::HousingBenefits < ::Form::Page if @joint_purchase [{ "joint_purchase?" => true }] else - [{ "not_joint_purchase?" => true }] + [{ "not_joint_purchase?" => true }, { "jointpur" => nil }] end end end diff --git a/app/models/form/sales/pages/living_before_purchase.rb b/app/models/form/sales/pages/living_before_purchase.rb index 95bfabc11..c5dd64330 100644 --- a/app/models/form/sales/pages/living_before_purchase.rb +++ b/app/models/form/sales/pages/living_before_purchase.rb @@ -22,7 +22,7 @@ class Form::Sales::Pages::LivingBeforePurchase < ::Form::Page if @joint_purchase [{ "joint_purchase?" => true }] else - [{ "not_joint_purchase?" => true }] + [{ "not_joint_purchase?" => true }, { "jointpur" => nil }] end end end diff --git a/app/models/form/sales/pages/old_persons_shared_ownership_value_check.rb b/app/models/form/sales/pages/old_persons_shared_ownership_value_check.rb index 101f30f88..0254804f0 100644 --- a/app/models/form/sales/pages/old_persons_shared_ownership_value_check.rb +++ b/app/models/form/sales/pages/old_persons_shared_ownership_value_check.rb @@ -26,7 +26,8 @@ class Form::Sales::Pages::OldPersonsSharedOwnershipValueCheck < ::Form::Page if @joint_purchase [{ "joint_purchase?" => true, "buyers_age_for_old_persons_shared_ownership_invalid?" => true }] else - [{ "not_joint_purchase?" => true, "buyers_age_for_old_persons_shared_ownership_invalid?" => true }] + [{ "not_joint_purchase?" => true, "buyers_age_for_old_persons_shared_ownership_invalid?" => true }, + { "jointpur" => nil, "buyers_age_for_old_persons_shared_ownership_invalid?" => true }] end end end diff --git a/app/models/form/sales/pages/privacy_notice.rb b/app/models/form/sales/pages/privacy_notice.rb index 818baaa02..ea3c387d6 100644 --- a/app/models/form/sales/pages/privacy_notice.rb +++ b/app/models/form/sales/pages/privacy_notice.rb @@ -15,7 +15,7 @@ class Form::Sales::Pages::PrivacyNotice < ::Form::Page if @joint_purchase [{ "joint_purchase?" => true }] else - [{ "not_joint_purchase?" => true }] + [{ "not_joint_purchase?" => true }, { "jointpur" => nil }] end end end diff --git a/app/models/form/sales/pages/savings.rb b/app/models/form/sales/pages/savings.rb index 462a1f82c..7a13dbe34 100644 --- a/app/models/form/sales/pages/savings.rb +++ b/app/models/form/sales/pages/savings.rb @@ -15,7 +15,7 @@ class Form::Sales::Pages::Savings < ::Form::Page if @joint_purchase [{ "joint_purchase?" => true }] else - [{ "not_joint_purchase?" => true }] + [{ "not_joint_purchase?" => true }, { "jointpur" => nil }] end end end diff --git a/app/models/form/sales/pages/savings_value_check.rb b/app/models/form/sales/pages/savings_value_check.rb index 0febd1edb..bcb95abc9 100644 --- a/app/models/form/sales/pages/savings_value_check.rb +++ b/app/models/form/sales/pages/savings_value_check.rb @@ -32,7 +32,8 @@ class Form::Sales::Pages::SavingsValueCheck < ::Form::Page if @joint_purchase [{ "joint_purchase?" => true, "savings_over_soft_max?" => true }] else - [{ "not_joint_purchase?" => true, "savings_over_soft_max?" => true }] + [{ "not_joint_purchase?" => true, "savings_over_soft_max?" => true }, + { "jointpur" => nil, "savings_over_soft_max?" => true }] end end end diff --git a/spec/models/form/sales/pages/deposit_value_check_spec.rb b/spec/models/form/sales/pages/deposit_value_check_spec.rb index 172f3000d..026102ef4 100644 --- a/spec/models/form/sales/pages/deposit_value_check_spec.rb +++ b/spec/models/form/sales/pages/deposit_value_check_spec.rb @@ -29,6 +29,10 @@ RSpec.describe Form::Sales::Pages::DepositValueCheck, type: :model do "deposit_over_soft_max?" => true, "not_joint_purchase?" => true, }, + { + "deposit_over_soft_max?" => true, + "jointpur" => nil, + }, ]) end diff --git a/spec/models/form/sales/pages/housing_benefits_spec.rb b/spec/models/form/sales/pages/housing_benefits_spec.rb index d87e00850..bbd8d5c18 100644 --- a/spec/models/form/sales/pages/housing_benefits_spec.rb +++ b/spec/models/form/sales/pages/housing_benefits_spec.rb @@ -30,7 +30,7 @@ RSpec.describe Form::Sales::Pages::HousingBenefits, type: :model do context "when joint_purchase is false" do it "has correct depends_on" do - expect(page.depends_on).to eq([{ "not_joint_purchase?" => true }]) + expect(page.depends_on).to eq([{ "not_joint_purchase?" => true }, { "jointpur" => nil }]) end end diff --git a/spec/models/form/sales/pages/living_before_purchase_spec.rb b/spec/models/form/sales/pages/living_before_purchase_spec.rb index 825f60b27..d12cff216 100644 --- a/spec/models/form/sales/pages/living_before_purchase_spec.rb +++ b/spec/models/form/sales/pages/living_before_purchase_spec.rb @@ -44,7 +44,7 @@ RSpec.describe Form::Sales::Pages::LivingBeforePurchase, type: :model do end it "has correct depends_on" do - expect(page.depends_on).to eq([{ "not_joint_purchase?" => true }]) + expect(page.depends_on).to eq([{ "not_joint_purchase?" => true }, { "jointpur" => nil }]) end context "with joint purchase" do diff --git a/spec/models/form/sales/pages/old_persons_shared_ownership_value_check_spec.rb b/spec/models/form/sales/pages/old_persons_shared_ownership_value_check_spec.rb index 0f4649ea8..fce6a5e69 100644 --- a/spec/models/form/sales/pages/old_persons_shared_ownership_value_check_spec.rb +++ b/spec/models/form/sales/pages/old_persons_shared_ownership_value_check_spec.rb @@ -29,6 +29,10 @@ RSpec.describe Form::Sales::Pages::OldPersonsSharedOwnershipValueCheck, type: :m "buyers_age_for_old_persons_shared_ownership_invalid?" => true, "not_joint_purchase?" => true, }, + { + "buyers_age_for_old_persons_shared_ownership_invalid?" => true, + "jointpur" => nil, + }, ]) end diff --git a/spec/models/form/sales/pages/privacy_notice_spec.rb b/spec/models/form/sales/pages/privacy_notice_spec.rb index 0a3d389cf..605a1d35d 100644 --- a/spec/models/form/sales/pages/privacy_notice_spec.rb +++ b/spec/models/form/sales/pages/privacy_notice_spec.rb @@ -34,7 +34,7 @@ RSpec.describe Form::Sales::Pages::PrivacyNotice, type: :model do end it "has correct depends_on" do - expect(page.depends_on).to eq([{ "not_joint_purchase?" => true }]) + expect(page.depends_on).to eq([{ "not_joint_purchase?" => true }, { "jointpur" => nil }]) end context "with joint purchase" do diff --git a/spec/models/form/sales/pages/savings_spec.rb b/spec/models/form/sales/pages/savings_spec.rb index 04c7279f9..a7363d3d4 100644 --- a/spec/models/form/sales/pages/savings_spec.rb +++ b/spec/models/form/sales/pages/savings_spec.rb @@ -28,7 +28,7 @@ RSpec.describe Form::Sales::Pages::Savings, type: :model do end it "has correct depends_on" do - expect(page.depends_on).to eq([{ "not_joint_purchase?" => true }]) + expect(page.depends_on).to eq([{ "not_joint_purchase?" => true }, { "jointpur" => nil }]) end context "with joint purchase" do diff --git a/spec/models/form/sales/pages/savings_value_check_spec.rb b/spec/models/form/sales/pages/savings_value_check_spec.rb index cd9b5ef34..7f530e3c6 100644 --- a/spec/models/form/sales/pages/savings_value_check_spec.rb +++ b/spec/models/form/sales/pages/savings_value_check_spec.rb @@ -27,6 +27,8 @@ RSpec.describe Form::Sales::Pages::SavingsValueCheck, type: :model do expect(page.depends_on).to eq([ { "not_joint_purchase?" => true, "savings_over_soft_max?" => true }, + { "jointpur" => nil, + "savings_over_soft_max?" => true }, ]) end diff --git a/spec/models/validations/shared_validations_spec.rb b/spec/models/validations/shared_validations_spec.rb index 52b325c29..2a154761b 100644 --- a/spec/models/validations/shared_validations_spec.rb +++ b/spec/models/validations/shared_validations_spec.rb @@ -89,8 +89,9 @@ RSpec.describe Validations::SharedValidations do it "adds the correct validation text when a question has a min but not a max" do sales_log.savings = -10 + sales_log.jointpur = 1 shared_validator.validate_numeric_min_max(sales_log) - expect(sales_log.errors["savings"]).to include(match I18n.t("validations.numeric.above_min", field: "Buyer’s total savings before any deposit paid", min: "£0")) + expect(sales_log.errors["savings"]).to include(match I18n.t("validations.numeric.above_min", field: "Buyers’ total savings before any deposit paid", min: "£0")) end context "when validating percent" do @@ -138,14 +139,16 @@ RSpec.describe Validations::SharedValidations do context "when validating a question with a step of 10" do it "adds an error if input is not a multiple of ten" do sales_log.savings = 30_005 + sales_log.jointpur = 1 shared_validator.validate_numeric_step(sales_log) - expect(sales_log.errors[:savings]).to include I18n.t("validations.numeric.nearest_ten", field: "Buyer’s total savings before any deposit paid") + expect(sales_log.errors[:savings]).to include I18n.t("validations.numeric.nearest_ten", field: "Buyers’ total savings before any deposit paid") end it "adds an error if the user attempts to input a number in exponent format" do sales_log.savings = "3e5" + sales_log.jointpur = 1 shared_validator.validate_numeric_step(sales_log) - expect(sales_log.errors[:savings]).to include I18n.t("validations.numeric.nearest_ten", field: "Buyer’s total savings before any deposit paid") + expect(sales_log.errors[:savings]).to include I18n.t("validations.numeric.nearest_ten", field: "Buyers’ total savings before any deposit paid") end it "does not add an error if input is a multiple of ten" do