assertSame( ConnectionManager::get('test'), ConnectionManager::get('default') ); } public function testAliasNonDefaultConnections(): void { $connection = new Connection(['driver' => TestDriver::class]); ConnectionManager::setConfig('test_something', $connection); ConnectionHelper::addTestAliases(); // Having a test_ alias defined will generate an alias for the unprefixed // connection for simpler CI configuration $this->assertSame( ConnectionManager::get('test_something'), ConnectionManager::get('something') ); } public function testAliasNoTestClass(): void { $connection = new Connection(['driver' => TestDriver::class]); ConnectionManager::setConfig('something', $connection); (new ConnectionHelper())->addTestAliases(); // Should raise as no test connection was defined. $this->expectException(MissingDatasourceConfigException::class); ConnectionManager::get('test_something'); } public function testAliasNonDefaultConnectionWithTestConnection(): void { $testConnection = new Connection(['driver' => TestDriver::class]); $connection = new Connection(['driver' => TestDriver::class]); ConnectionManager::setConfig('something', $connection); ConnectionManager::setConfig('test_something', $testConnection); (new ConnectionHelper())->addTestAliases(); // Development connections that have test_ prefix connections defined // should have an alias defined for the test_ prefixed name. This allows // access to the development connection to resolve to the test prefixed name // in tests. $this->assertSame($testConnection, ConnectionManager::get('test_something')); $this->assertSame($testConnection, ConnectionManager::get('something')); } public function testEnableQueryLogging(): void { $connection = new Connection(['driver' => TestDriver::class]); ConnectionManager::setConfig('query_logging', $connection); $this->assertFalse($connection->getDriver()->log('')); ConnectionHelper::enableQueryLogging(['query_logging']); $this->assertTrue($connection->getDriver()->log('')); } }