diff --git a/src/Tempest/Framework/Testing/IntegrationTest.php b/src/Tempest/Framework/Testing/IntegrationTest.php index 02964bcfc3..a51b95fb21 100644 --- a/src/Tempest/Framework/Testing/IntegrationTest.php +++ b/src/Tempest/Framework/Testing/IntegrationTest.php @@ -18,6 +18,7 @@ use Tempest\Container\GenericContainer; use Tempest\Core\Exceptions\ExceptionTester; use Tempest\Core\FrameworkKernel; +use Tempest\Database\DatabaseInitializer; use Tempest\Database\Testing\DatabaseTester; use Tempest\DateTime\DateTimeInterface; use Tempest\Discovery\DiscoveryLocation; @@ -208,6 +209,14 @@ protected function setupBaseRequest(): self return $this; } + protected function useTestingDatabase(): self + { + $this->container->removeInitializer(DatabaseInitializer::class); + $this->container->addInitializer(TestingDatabaseInitializer::class); + + return $this; + } + protected function clock(DateTimeInterface|string $now = 'now'): MockClock { $clock = new MockClock($now); diff --git a/tests/Integration/TestingDatabaseInitializer.php b/src/Tempest/Framework/Testing/TestingDatabaseInitializer.php similarity index 95% rename from tests/Integration/TestingDatabaseInitializer.php rename to src/Tempest/Framework/Testing/TestingDatabaseInitializer.php index 55cfb49ef0..20f79fc14e 100644 --- a/tests/Integration/TestingDatabaseInitializer.php +++ b/src/Tempest/Framework/Testing/TestingDatabaseInitializer.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Tests\Tempest\Integration; +namespace Tempest\Framework\Testing; use Tempest\Container\Container; use Tempest\Container\DynamicInitializer; @@ -13,12 +13,14 @@ use Tempest\Database\Database; use Tempest\Database\GenericDatabase; use Tempest\Database\Transactions\GenericTransactionManager; +use Tempest\Discovery\SkipDiscovery; use Tempest\EventBus\EventBus; use Tempest\Mapper\SerializerFactory; use Tempest\Reflection\ClassReflector; use Tempest\Support\Str; use UnitEnum; +#[SkipDiscovery] final class TestingDatabaseInitializer implements DynamicInitializer { /** @var Connection[] */ diff --git a/tests/Integration/Database/MultiDatabaseTest.php b/tests/Integration/Database/MultiDatabaseTest.php index 4ae4a94b33..ed971bc816 100644 --- a/tests/Integration/Database/MultiDatabaseTest.php +++ b/tests/Integration/Database/MultiDatabaseTest.php @@ -19,12 +19,12 @@ use Tempest\Database\QueryStatements\CreateTableStatement; use Tempest\Database\QueryStatements\DropTableStatement; use Tempest\Database\ShouldMigrate; +use Tempest\Framework\Testing\TestingDatabaseInitializer; use Tests\Tempest\Fixtures\Migrations\CreateBookTable; use Tests\Tempest\Fixtures\Migrations\CreatePublishersTable; use Tests\Tempest\Fixtures\Modules\Books\Models\Book; use Tests\Tempest\Fixtures\Modules\Books\Models\Publisher; use Tests\Tempest\Integration\FrameworkIntegrationTestCase; -use Tests\Tempest\Integration\TestingDatabaseInitializer; use function Tempest\Database\query; diff --git a/tests/Integration/FrameworkIntegrationTestCase.php b/tests/Integration/FrameworkIntegrationTestCase.php index 66efa7148a..ed697c4a26 100644 --- a/tests/Integration/FrameworkIntegrationTestCase.php +++ b/tests/Integration/FrameworkIntegrationTestCase.php @@ -9,6 +9,7 @@ use Tempest\Database\DatabaseInitializer; use Tempest\Discovery\DiscoveryLocation; use Tempest\Framework\Testing\IntegrationTest; +use Tempest\Framework\Testing\TestingDatabaseInitializer; use Tempest\Support\Filesystem; use Tempest\Support\Path;