From 1221069c077c47545401dcad7db046eb6d95b718 Mon Sep 17 00:00:00 2001 From: Rachael Booth Date: Fri, 5 Jul 2024 16:34:39 +0100 Subject: [PATCH] CLDC-3547: Validate against incomplete schemes being used in logs --- app/models/validations/setup_validations.rb | 4 ++++ config/locales/en.yml | 2 ++ spec/models/validations/setup_validations_spec.rb | 10 ++++++++++ 3 files changed, 16 insertions(+) diff --git a/app/models/validations/setup_validations.rb b/app/models/validations/setup_validations.rb index df2a2fc5e..b06217ad5 100644 --- a/app/models/validations/setup_validations.rb +++ b/app/models/validations/setup_validations.rb @@ -90,6 +90,10 @@ module Validations::SetupValidations end def validate_scheme(record) + if record.scheme&.status == :incomplete + record.errors.add :scheme_id, :incomplete, message: I18n.t("validations.setup.scheme.incomplete") + end + scheme_during_startdate_validation(record) end diff --git a/config/locales/en.yml b/config/locales/en.yml index 537fe2114..7f4ebb2a4 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -323,6 +323,8 @@ en: lettype_not_supported_housing: This letting type is general needs, but the needs type is supported housing. Change either the needs type or the letting type. location: incomplete: "This location is incomplete. Select another location or update this one" + scheme: + incomplete: "This scheme is incomplete. Select another scheme or update this one" property: uprn: diff --git a/spec/models/validations/setup_validations_spec.rb b/spec/models/validations/setup_validations_spec.rb index 5e7705c6d..40c9c35e5 100644 --- a/spec/models/validations/setup_validations_spec.rb +++ b/spec/models/validations/setup_validations_spec.rb @@ -511,6 +511,16 @@ RSpec.describe Validations::SetupValidations do expect(record.errors["scheme_id"]).to be_empty end end + + context "with an incomplete scheme" do + let(:scheme) { create(:scheme, :incomplete) } + + it "adds an error to scheme_id" do + record.scheme = scheme + setup_validator.validate_scheme(record) + expect(record.errors["scheme_id"]).to include(I18n.t("validations.setup.scheme.incomplete")) + end + end end describe "#validate_location" do