Skip to content

Commit 6027766

Browse files
committed
fix.
1 parent 1f3b5ba commit 6027766

File tree

8 files changed

+57
-125
lines changed

8 files changed

+57
-125
lines changed

tests/Integration/Service/Generator/Definition/ForeignKeyDefinitionTest.php

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44
namespace Tests\Integration\Service\Generator\Definition;
55

66

7-
use Doctrine\DBAL\DriverManager;
8-
use Illuminate\Database\DatabaseManager;
97
use N3XT0R\MigrationGenerator\Service\Generator\Definition\Entity\ForeignKeyEntity;
108
use N3XT0R\MigrationGenerator\Service\Generator\Definition\ForeignKeyDefinition;
119
use PHPUnit\Framework\Attributes\Depends;
@@ -18,20 +16,7 @@ class ForeignKeyDefinitionTest extends DbTestCase
1816
public function setUp(): void
1917
{
2018
parent::setUp();
21-
/**
22-
* @var DatabaseManager $dbManager
23-
*/
24-
$dbManager = $this->app->get('db');
25-
$dbConfig = $dbManager->connection()->getConfig();
26-
$connectionParams = [
27-
'dbname' => $dbConfig['database'],
28-
'user' => $dbConfig['username'],
29-
'password' => $dbConfig['password'],
30-
'host' => $dbConfig['host'],
31-
'driver' => 'pdo_mysql',
32-
];
33-
$doctrine = DriverManager::getConnection($connectionParams);
34-
$schema = $doctrine->createSchemaManager();
19+
$schema = $this->getDoctrineConnection($this->getDatabaseManager())->createSchemaManager();
3520

3621
$definition = new ForeignKeyDefinition();
3722
$definition->setSchema($schema);
@@ -59,7 +44,7 @@ public function testGenerateResultShouldWork(): array
5944
}
6045

6146
/**
62-
* @param array $result
47+
* @param array $result
6348
*/
6449
#[Depends('testGenerateResultShouldWork')]
6550
public function testForeignKeyWorks(array $result): void

tests/Integration/Service/Generator/Definition/IndexDefinitionTest.php

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44
namespace Tests\Integration\Service\Generator\Definition;
55

66

7-
use Doctrine\DBAL\DriverManager;
8-
use Illuminate\Database\DatabaseManager;
97
use N3XT0R\MigrationGenerator\Service\Generator\Definition\Entity\IndexEntity;
108
use N3XT0R\MigrationGenerator\Service\Generator\Definition\IndexDefinition;
119
use PHPUnit\Framework\Attributes\Depends;
@@ -18,20 +16,7 @@ class IndexDefinitionTest extends DbTestCase
1816
public function setUp(): void
1917
{
2018
parent::setUp();
21-
/**
22-
* @var DatabaseManager $dbManager
23-
*/
24-
$dbManager = $this->app->get('db');
25-
$dbConfig = $dbManager->connection()->getConfig();
26-
$connectionParams = [
27-
'dbname' => $dbConfig['database'],
28-
'user' => $dbConfig['username'],
29-
'password' => $dbConfig['password'],
30-
'host' => $dbConfig['host'],
31-
'driver' => 'pdo_mysql',
32-
];
33-
$doctrine = DriverManager::getConnection($connectionParams);
34-
$schema = $doctrine->createSchemaManager();
19+
$schema = $this->getDoctrineSchemaManager($this->getDatabaseManager());
3520

3621
$definition = new IndexDefinition();
3722
$definition->setSchema($schema);
@@ -60,7 +45,7 @@ public function testGenerateResultShouldWork(): array
6045
}
6146

6247
/**
63-
* @param array $result
48+
* @param array $result
6449
*/
6550
#[Depends('testGenerateResultShouldWork')]
6651
public function testIndexWorks(array $result): void
@@ -80,7 +65,7 @@ public function testIndexWorks(array $result): void
8065
}
8166

8267
/**
83-
* @param array $result
68+
* @param array $result
8469
*/
8570
#[Depends('testGenerateResultShouldWork')]
8671
public function testUniqueIndexWorks(array $result): void

tests/Integration/Service/Generator/Definition/TableDefinitionTest.php

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44
namespace Tests\Integration\Service\Generator\Definition;
55

66

7-
use Doctrine\DBAL\DriverManager;
8-
use Illuminate\Database\DatabaseManager;
97
use Illuminate\Foundation\Application;
108
use N3XT0R\MigrationGenerator\Service\Generator\Definition\Entity\FieldEntity;
119
use N3XT0R\MigrationGenerator\Service\Generator\Definition\TableDefinition;
@@ -19,20 +17,7 @@ class TableDefinitionTest extends DbTestCase
1917
public function setUp(): void
2018
{
2119
parent::setUp();
22-
/**
23-
* @var DatabaseManager $dbManager
24-
*/
25-
$dbManager = $this->app->get('db');
26-
$dbConfig = $dbManager->connection()->getConfig();
27-
$connectionParams = [
28-
'dbname' => $dbConfig['database'],
29-
'user' => $dbConfig['username'],
30-
'password' => $dbConfig['password'],
31-
'host' => $dbConfig['host'],
32-
'driver' => 'pdo_mysql',
33-
];
34-
$doctrine = DriverManager::getConnection($connectionParams);
35-
$schema = $doctrine->createSchemaManager();
20+
$schema = $this->getDoctrineConnection($this->getDatabaseManager())->createSchemaManager();
3621

3722
$definition = new TableDefinition();
3823
$definition->setSchema($schema);

tests/Integration/Service/Generator/Resolver/DefinitionResolverTest.php

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44
namespace Tests\Integration\Service\Generator\Resolver;
55

66

7-
use Doctrine\DBAL\DriverManager;
8-
use Illuminate\Database\DatabaseManager;
97
use N3XT0R\MigrationGenerator\Service\Generator\Resolver\DefinitionResolverInterface;
108
use Tests\DbTestCase;
119

@@ -16,20 +14,7 @@ class DefinitionResolverTest extends DbTestCase
1614
public function setUp(): void
1715
{
1816
parent::setUp();
19-
/**
20-
* @var DatabaseManager $dbManager
21-
*/
22-
$dbManager = $this->app->get('db');
23-
$dbConfig = $dbManager->connection()->getConfig();
24-
25-
$connectionParams = [
26-
'dbname' => $dbConfig['database'],
27-
'user' => $dbConfig['username'],
28-
'password' => $dbConfig['password'],
29-
'host' => $dbConfig['host'],
30-
'driver' => 'pdo_mysql',
31-
];
32-
$doctrine = DriverManager::getConnection($connectionParams);
17+
$doctrine = $this->getDoctrineConnection($this->getDatabaseManager());
3318
$this->resolver = $this->app->make(DefinitionResolverInterface::class, ['connection' => $doctrine]);
3419
}
3520

tests/TestCase.php

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
namespace Tests;
44

5+
use Doctrine\DBAL\Connection;
6+
use Doctrine\DBAL\DriverManager;
7+
use Illuminate\Database\DatabaseManager;
58
use Illuminate\Foundation\Application;
69
use N3XT0R\MigrationGenerator\Providers\MigrationGeneratorServiceProvider;
710
use Orchestra\Testbench\TestCase as OrchestraTestCase;
@@ -62,4 +65,38 @@ protected function getEnvironmentSetUp($app): void
6265
'prefix' => '',
6366
]);
6467
}
68+
69+
public function getDatabaseManager(): DatabaseManager
70+
{
71+
/**
72+
* @var DatabaseManager $dbManager
73+
*/
74+
$dbManager = $this->app->get('db');
75+
return $dbManager;
76+
}
77+
78+
79+
public function getDoctrineConnection(DatabaseManager $dbManager): Connection
80+
{
81+
$dbMap = [
82+
'mysql' => 'pdo_mysql',
83+
'sqlite' => 'pdo_sqlite',
84+
'pgsql' => 'pdo_pgsql',
85+
];
86+
$dbConfig = $dbManager->connection()->getConfig();
87+
88+
if (array_key_exists($dbConfig['name'], $dbMap)) {
89+
$dbConfig['driver'] = $dbMap[$dbConfig['name']];
90+
}
91+
92+
$connectionParams = [
93+
'dbname' => $dbConfig['database'],
94+
'user' => $dbConfig['username'],
95+
'password' => $dbConfig['password'],
96+
'host' => $dbConfig['host'],
97+
'driver' => $dbConfig['driver'],
98+
];
99+
100+
return DriverManager::getConnection($connectionParams);
101+
}
65102
}

tests/Unit/Generator/Definition/AbstractDefinitionTest.php

Lines changed: 6 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44
namespace Tests\Unit\Generator\Definition;
55

66

7-
use Doctrine\DBAL\DriverManager;
8-
use Illuminate\Database\DatabaseManager;
97
use N3XT0R\MigrationGenerator\Service\Generator\Definition\AbstractDefinition;
108
use Tests\TestCase;
119

@@ -16,7 +14,7 @@ class AbstractDefinitionTest extends TestCase
1614
public function setUp(): void
1715
{
1816
parent::setUp();
19-
$this->definition = new class extends AbstractDefinition{
17+
$this->definition = new class extends AbstractDefinition {
2018

2119
protected function generateData(): array
2220
{
@@ -42,8 +40,8 @@ public function testSetAndGetResultAreSame(): void
4240
}
4341

4442
/**
45-
* @param string $attributeName
46-
* @param bool $expectedResult
43+
* @param string $attributeName
44+
* @param bool $expectedResult
4745
* @testWith ["test", true]
4846
* ["test2", false]
4947
*/
@@ -72,50 +70,22 @@ public function testGetAttributeByNameReturnsNull(): void
7270

7371
public function testSetAndGetSchemaAreSame(): void
7472
{
75-
/**
76-
* @var DatabaseManager $dbManager
77-
*/
78-
$dbManager = $this->app->get('db');
79-
$dbConfig = $dbManager->connection()->getConfig();
80-
81-
$connectionParams = [
82-
'dbname' => $dbConfig['database'],
83-
'user' => $dbConfig['username'],
84-
'password' => $dbConfig['password'],
85-
'host' => $dbConfig['host'],
86-
'driver' => 'pdo_mysql',
87-
];
88-
$doctrine = DriverManager::getConnection($connectionParams);
89-
$schema = $doctrine->createSchemaManager();
73+
$schema = $this->getDoctrineSchemaManager($this->getDatabaseManager());
9074

9175
$this->definition->setSchema($schema);
9276
$gotSchema = $this->definition->getSchema();
9377
$this->assertSame($schema, $gotSchema);
9478
}
9579

9680
/**
97-
* @param bool $expectedResult
81+
* @param bool $expectedResult
9882
* @testWith [true]
9983
* [false]
10084
*/
10185
public function testHasSchema(bool $expectedResult): void
10286
{
10387
if (true === $expectedResult) {
104-
/**
105-
* @var DatabaseManager $dbManager
106-
*/
107-
$dbManager = $this->app->get('db');
108-
$dbConfig = $dbManager->connection()->getConfig();
109-
$connectionParams = [
110-
'dbname' => $dbConfig['database'],
111-
'user' => $dbConfig['username'],
112-
'password' => $dbConfig['password'],
113-
'host' => $dbConfig['host'],
114-
'driver' => 'pdo_mysql',
115-
];
116-
$doctrine = DriverManager::getConnection($connectionParams);
117-
$schema = $doctrine->createSchemaManager();
118-
88+
$schema = $this->getDoctrineConnection($this->getDatabaseManager())->createSchemaManager();
11989
$this->definition->setSchema($schema);
12090
}
12191

tests/Unit/Generator/MigrationGeneratorTest.php

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@
44
namespace Tests\Unit\Generator;
55

66

7-
use Doctrine\DBAL\DriverManager;
8-
use Illuminate\Database\DatabaseManager;
97
use Illuminate\Contracts\View\Factory as ViewFactory;
8+
use Illuminate\Database\DatabaseManager;
109
use N3XT0R\MigrationGenerator\Service\Generator\Compiler\MigrationCompiler;
1110
use N3XT0R\MigrationGenerator\Service\Generator\Compiler\MigrationCompilerInterface;
1211
use N3XT0R\MigrationGenerator\Service\Generator\MigrationGenerator;
@@ -26,14 +25,14 @@ public function setUp(): void
2625
$dbManager = $this->app->get('db');
2726
$dbConfig = $dbManager->connection()->getConfig();
2827

29-
$connectionParams = [
28+
$connectionParams = [
3029
'dbname' => $dbConfig['database'],
3130
'user' => $dbConfig['username'],
3231
'password' => $dbConfig['password'],
3332
'host' => $dbConfig['host'],
3433
'driver' => 'pdo_mysql',
3534
];
36-
$doctrine = DriverManager::getConnection($connectionParams);
35+
$doctrine = $this->getDoctrineConnection($this->getDatabaseManager());
3736
$resolver = new DefinitionResolver($doctrine, []);
3837
$compiler = $this->app->make(MigrationCompilerInterface::class);
3938
$generator = new MigrationGenerator($resolver, $compiler);
@@ -88,5 +87,5 @@ public function testSetAndGetMigrationFilesAreSame(): void
8887
$gotFiles = $this->generator->getMigrationFiles();
8988
$this->assertSame($files, $gotFiles);
9089
}
91-
90+
9291
}

tests/Unit/Generator/Resolver/AbstractResolverTest.php

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44
namespace Tests\Unit\Generator\Resolver;
55

66

7-
use Doctrine\DBAL\DriverManager;
8-
use Illuminate\Database\DatabaseManager;
97
use N3XT0R\MigrationGenerator\Service\Generator\Definition\Entity\ResultEntity;
108
use N3XT0R\MigrationGenerator\Service\Generator\Definition\IndexDefinition;
119
use N3XT0R\MigrationGenerator\Service\Generator\Resolver\AbstractResolver;
@@ -18,20 +16,8 @@ class AbstractResolverTest extends TestCase
1816
public function setUp(): void
1917
{
2018
parent::setUp();
21-
/**
22-
* @var DatabaseManager $dbManager
23-
*/
24-
$dbManager = $this->app->get('db');
25-
$dbConfig = $dbManager->connection()->getConfig();
26-
$connectionParams = [
27-
'dbname' => $dbConfig['database'],
28-
'user' => $dbConfig['username'],
29-
'password' => $dbConfig['password'],
30-
'host' => $dbConfig['host'],
31-
'driver' => 'pdo_mysql',
32-
];
33-
$doctrine = DriverManager::getConnection($connectionParams);
34-
$this->resolver = new class($doctrine, []) extends AbstractResolver{
19+
$doctrine = $this->getDoctrineConnection($this->getDatabaseManager());
20+
$this->resolver = new class($doctrine, []) extends AbstractResolver {
3521

3622
public function resolveTableSchema(string $schema, string $table): ResultEntity
3723
{
@@ -63,7 +49,7 @@ public function testAddDefinitionWorks(): void
6349
}
6450

6551
/**
66-
* @param bool $expectedResult
52+
* @param bool $expectedResult
6753
* @testWith [true]
6854
* [false]
6955
*/

0 commit comments

Comments
 (0)