From d95b88197aa967ad0cfc5b40add53864e8f05328 Mon Sep 17 00:00:00 2001 From: Ash Allen Date: Tue, 2 Jul 2024 17:57:51 +0100 Subject: [PATCH] Added validation for the new config field. --- src/Classes/Validation.php | 1 + tests/Unit/Classes/ValidationTest.php | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/src/Classes/Validation.php b/src/Classes/Validation.php index 2219e91..bc9cab5 100644 --- a/src/Classes/Validation.php +++ b/src/Classes/Validation.php @@ -32,6 +32,7 @@ public function validateConfig(): bool Rule::make('enforce_https')->rules(['required', 'boolean']), Rule::make('forward_query_params')->rules(['required', 'boolean']), Rule::make('default_url')->rules(['nullable', 'string']), + Rule::make('allowed_url_schemes')->rules(['required', 'array']), ], ]); diff --git a/tests/Unit/Classes/ValidationTest.php b/tests/Unit/Classes/ValidationTest.php index e44d32b..5070278 100644 --- a/tests/Unit/Classes/ValidationTest.php +++ b/tests/Unit/Classes/ValidationTest.php @@ -129,4 +129,16 @@ public function exception_is_thrown_if_the_default_url_is_not_a_string(): void $validation = new Validation(); $validation->validateConfig(); } + + #[Test] + public function exception_is_thrown_if_the_allowed_url_schemes_is_not_an_array(): void + { + $this->expectException(ValidationException::class); + $this->expectExceptionMessage('The short-url.allowed_url_schemes field must be an array.'); + + Config::set('short-url.allowed_url_schemes', 'INVALID'); + + $validation = new Validation(); + $validation->validateConfig(); + } }