From 4bdb877ca476b482f2b3297b5f9a10da3eee742c Mon Sep 17 00:00:00 2001 From: lukinovec Date: Thu, 30 Apr 2026 10:45:29 +0200 Subject: [PATCH] Cover null parameter skipping Also cover that in-memory db names aren't validated in databaseExists --- tests/TenantDatabaseManagerTest.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tests/TenantDatabaseManagerTest.php b/tests/TenantDatabaseManagerTest.php index 2708c9b9..547b73d8 100644 --- a/tests/TenantDatabaseManagerTest.php +++ b/tests/TenantDatabaseManagerTest.php @@ -605,6 +605,16 @@ test('database managers validate parameters that cannot be bound', function ($dr expect(fn () => $manager->createUser($tenantWithInvalidPassword->database())) ->toThrow(InvalidArgumentException::class, $invalidPassword); + + // validateParameter() doesn't throw if a parameter is null + $tenantWithNullDbParameters = Tenant::make([ + 'tenancy_db_name' => null, + 'tenancy_db_username' => null, + 'tenancy_db_password' => null, + ]); + + expect(fn () => $manager->createUser($tenantWithNullDbParameters->database())) + ->not()->toThrow(InvalidArgumentException::class); } $validTenant = Tenant::make([ @@ -631,6 +641,10 @@ test('sqlite database manager validates the name in databaseExists', function () expect(fn () => $manager->databaseExists('valid-db_name.sqlite')) ->not()->toThrow(InvalidArgumentException::class); + + // In-memory database names aren't validated + expect(fn () => $manager->databaseExists('../_tenancy_inmemory_')) + ->not()->toThrow(InvalidArgumentException::class); }); // Datasets