From a604dfb6521b5d14f53e08000ecb1e4c50b96b61 Mon Sep 17 00:00:00 2001 From: natdeanlewissoftwire Date: Fri, 24 Mar 2023 09:56:02 +0000 Subject: [PATCH] feat: test validation --- .../validations/setup_validations_spec.rb | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/spec/models/validations/setup_validations_spec.rb b/spec/models/validations/setup_validations_spec.rb index 16d52fb07..3e1db98f2 100644 --- a/spec/models/validations/setup_validations_spec.rb +++ b/spec/models/validations/setup_validations_spec.rb @@ -368,4 +368,36 @@ RSpec.describe Validations::SetupValidations do expect(record.errors["managing_organisation_id"]).to be_empty end end + + describe "#validate_scheme_has_confirmed_locations_validation" do + let(:scheme) { create(:scheme) } + + context "with a scheme that has no confirmed locations" do + before do + FactoryBot.create(:location, scheme:, confirmed: false) + scheme.reload + end + + it "produces an error" do + record.scheme = scheme + setup_validator.validate_scheme_has_confirmed_locations_validation(record) + expect(record.errors["scheme_id"]) + .to include(match I18n.t("validations.scheme.no_completed_locations")) + end + end + + context "with a scheme that has confirmed locations" do + before do + FactoryBot.create(:location, scheme:, confirmed: true) + scheme.reload + end + + it "does not produce an error" do + record.scheme = scheme + setup_validator.validate_scheme_has_confirmed_locations_validation(record) + expect(record.errors["scheme_id"]) + .to be_empty + end + end + end end