Skip to content

Commit 14f7016

Browse files
Merge pull request #382 from alexislefebvre/feat-use-FQCN-for-fixtures-and-type-checks
feat: use FQCN for fixtures and type checks
2 parents c05c8ff + 6152411 commit 14f7016

11 files changed

Lines changed: 75 additions & 57 deletions

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,4 @@ vendor
1010
!.gitkeep
1111

1212
tests/App*/var/
13+
tests/App*/config/reference.php

doc/database.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ class MyControllerTest extends WebTestCase
4747
+ // add all your fixtures classes that implement
4848
+ // Doctrine\Common\DataFixtures\FixtureInterface
4949
+ $this->databaseTool->loadFixtures([
50-
+ 'Bamarni\MainBundle\DataFixtures\ORM\LoadData',
51-
+ 'Me\MyBundle\DataFixtures\ORM\LoadData'
50+
+ \Bamarni\MainBundle\DataFixtures\ORM\LoadData:class,
51+
+ \Me\MyBundle\DataFixtures\ORM\LoadData:class,
5252
+ ]);
5353

5454
// you can now run your functional tests with a populated database
@@ -178,8 +178,8 @@ class MyControllerTest extends WebTestCase
178178
// add all your fixtures classes that implement
179179
// Doctrine\Common\DataFixtures\FixtureInterface
180180
$this->databaseTool->loadFixtures([
181-
'Bamarni\MainBundle\DataFixtures\ORM\LoadData',
182-
'Me\MyBundle\DataFixtures\ORM\LoadData'
181+
\Bamarni\MainBundle\DataFixtures\ORM\LoadData::class,
182+
\Me\MyBundle\DataFixtures\ORM\LoadData::class',
183183
]);
184184
185185
// you can now run your functional tests with a populated database
@@ -213,7 +213,7 @@ to the `setExcludedDoctrineTables` method before loading the fixtures.
213213
```php
214214
$this->databaseTool->setExcludedDoctrineTables(['my_tablename_not_to_be_purged']);
215215
$this->databaseTool->loadFixtures([
216-
'Me\MyBundle\DataFixtures\ORM\LoadData'
216+
\Me\MyBundle\DataFixtures\ORM\LoadData::class,
217217
]);
218218
```
219219

docker-compose.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
version: '3.1'
21
services:
32
mariadb:
43
image: 'mariadb:11'

tests/App/DataFixtures/ORM/LoadDependentUserData.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ public function load(ObjectManager $manager): void
4242
public function getDependencies(): array
4343
{
4444
return [
45-
'Liip\Acme\Tests\App\DataFixtures\ORM\LoadUserData',
46-
'Liip\Acme\Tests\App\DataFixtures\ORM\LoadSettingData',
45+
LoadUserData::class,
46+
LoadSettingData::class,
4747
];
4848
}
4949
}

tests/App/DataFixtures/ORM/LoadDependentUserWithServiceData.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public function load(ObjectManager $manager): void
5252
public function getDependencies(): array
5353
{
5454
return [
55-
'Liip\Acme\Tests\App\DataFixtures\ORM\LoadUserWithServiceData',
55+
LoadUserWithServiceData::class,
5656
];
5757
}
5858
}

tests/Test/ConfigEventsTest.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
namespace Liip\Acme\Tests\Test;
1515

16+
use Doctrine\Common\DataFixtures\Executor\ORMExecutor;
1617
use Liip\Acme\Tests\AppConfigEvents\AppConfigEventsKernel;
1718
use Liip\Acme\Tests\AppConfigEvents\EventListener\FixturesSubscriber;
1819
use Liip\TestFixturesBundle\LiipTestFixturesEvents;
@@ -57,7 +58,7 @@ public function testLoadEmptyFixturesAndCheckEvents(): void
5758
$fixtures = $databaseTool->loadFixtures([]);
5859

5960
$this->assertInstanceOf(
60-
'Doctrine\Common\DataFixtures\Executor\ORMExecutor',
61+
ORMExecutor::class,
6162
$fixtures
6263
);
6364

@@ -116,7 +117,7 @@ public function testLoadEmptyFixturesAndCheckEventsAreCalled(string $eventName,
116117
}
117118

118119
$this->assertInstanceOf(
119-
'Doctrine\Common\DataFixtures\Executor\ORMExecutor',
120+
ORMExecutor::class,
120121
$fixtures
121122
);
122123
}

tests/Test/ConfigMysqlCacheDbTest.php

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313

1414
namespace Liip\Acme\Tests\Test;
1515

16+
use Liip\Acme\Tests\App\DataFixtures\ORM\LoadSecondUserData;
17+
use Liip\Acme\Tests\App\DataFixtures\ORM\LoadUserData;
1618
use Liip\Acme\Tests\App\Entity\User;
1719
use Liip\Acme\Tests\AppConfigMysqlCacheDb\AppConfigMysqlKernelCacheDb;
1820
use PHPUnit\Framework\Attributes\PreserveGlobalState;
@@ -45,7 +47,7 @@ protected function setUp(): void
4547
public function testLoadFixturesAndCheckBackup(): void
4648
{
4749
$this->databaseTool->loadFixtures([
48-
'Liip\Acme\Tests\App\DataFixtures\ORM\LoadUserData',
50+
LoadUserData::class,
4951
]);
5052

5153
// Load data from database
@@ -85,7 +87,7 @@ public function testLoadFixturesAndCheckBackup(): void
8587

8688
// Load fixtures again
8789
$this->databaseTool->loadFixtures([
88-
'Liip\Acme\Tests\App\DataFixtures\ORM\LoadUserData',
90+
LoadUserData::class,
8991
]);
9092

9193
$users = $this->userRepository->findAll();
@@ -113,7 +115,7 @@ public function testLoadFixturesAndCheckBackup(): void
113115
public function testLoadFixturesCheckReferencesByClass(): void
114116
{
115117
$referenceRepository = $this->databaseTool->loadFixtures([
116-
'Liip\Acme\Tests\App\DataFixtures\ORM\LoadUserData',
118+
LoadUserData::class,
117119
])->getReferenceRepository();
118120

119121
$references = $referenceRepository->getReferencesByClass();
@@ -125,8 +127,8 @@ public function testLoadFixturesCheckReferencesByClass(): void
125127
$this->assertCount(1, $references[$className]);
126128

127129
$referenceRepository = $this->databaseTool->loadFixtures([
128-
'Liip\Acme\Tests\App\DataFixtures\ORM\LoadUserData',
129-
'Liip\Acme\Tests\App\DataFixtures\ORM\LoadSecondUserData',
130+
LoadUserData::class,
131+
LoadSecondUserData::class,
130132
])->getReferenceRepository();
131133

132134
$references = $referenceRepository->getReferencesByClass();

tests/Test/ConfigMysqlTest.php

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,13 @@
1313

1414
namespace Liip\Acme\Tests\Test;
1515

16+
use Doctrine\Common\DataFixtures\Executor\ORMExecutor;
17+
use Doctrine\Common\DataFixtures\ProxyReferenceRepository;
1618
use Doctrine\Common\DataFixtures\Purger\ORMPurger;
1719
use Doctrine\ORM\EntityRepository;
20+
use Liip\Acme\Tests\App\DataFixtures\ORM\LoadDependentUserData;
21+
use Liip\Acme\Tests\App\DataFixtures\ORM\LoadSecondUserData;
22+
use Liip\Acme\Tests\App\DataFixtures\ORM\LoadUserData;
1823
use Liip\Acme\Tests\App\Entity\Setting;
1924
use Liip\Acme\Tests\App\Entity\User;
2025
use Liip\Acme\Tests\AppConfigMysql\AppConfigMysqlKernel;
@@ -83,7 +88,7 @@ public function testLoadEmptyFixtures(): void
8388
$fixtures = $this->databaseTool->loadFixtures([]);
8489

8590
$this->assertInstanceOf(
86-
'Doctrine\Common\DataFixtures\Executor\ORMExecutor',
91+
ORMExecutor::class,
8792
$fixtures
8893
);
8994
}
@@ -95,18 +100,18 @@ public function testLoadEmptyFixtures(): void
95100
public function testLoadFixtures(): void
96101
{
97102
$fixtures = $this->databaseTool->loadFixtures([
98-
'Liip\Acme\Tests\App\DataFixtures\ORM\LoadUserData',
103+
LoadUserData::class,
99104
]);
100105

101106
$this->assertInstanceOf(
102-
'Doctrine\Common\DataFixtures\Executor\ORMExecutor',
107+
ORMExecutor::class,
103108
$fixtures
104109
);
105110

106111
$repository = $fixtures->getReferenceRepository();
107112

108113
$this->assertInstanceOf(
109-
'Doctrine\Common\DataFixtures\ProxyReferenceRepository',
114+
ProxyReferenceRepository::class,
110115
$repository
111116
);
112117

@@ -136,12 +141,12 @@ public function testLoadFixtures(): void
136141
public function testAppendFixtures(): void
137142
{
138143
$this->databaseTool->loadFixtures([
139-
'Liip\Acme\Tests\App\DataFixtures\ORM\LoadUserData',
144+
LoadUserData::class,
140145
]);
141146

142147
$referenceRepository = $this->databaseTool->loadFixtures(
143-
['Liip\Acme\Tests\App\DataFixtures\ORM\LoadSecondUserData'],
144-
true
148+
[LoadSecondUserData::class],
149+
true,
145150
)->getReferenceRepository();
146151

147152
$references = $referenceRepository->getReferencesByClass();
@@ -208,16 +213,17 @@ public function testAppendFixtures(): void
208213
* Data fixtures and purge.
209214
*
210215
* Purge modes are defined in
211-
* Doctrine\Common\DataFixtures\Purger\ORMPurger.
216+
*
217+
* @see ORMPurger
212218
*/
213219
public function testLoadFixturesAndExcludeFromPurge(): void
214220
{
215221
$fixtures = $this->databaseTool->loadFixtures([
216-
'Liip\Acme\Tests\App\DataFixtures\ORM\LoadUserData',
222+
LoadUserData::class,
217223
]);
218224

219225
$this->assertInstanceOf(
220-
'Doctrine\Common\DataFixtures\Executor\ORMExecutor',
226+
ORMExecutor::class,
221227
$fixtures
222228
);
223229

@@ -244,19 +250,20 @@ public function testLoadFixturesAndExcludeFromPurge(): void
244250
* Data fixtures and purge.
245251
*
246252
* Purge modes are defined in
247-
* Doctrine\Common\DataFixtures\Purger\ORMPurger.
253+
*
254+
* @see ORMPurger
248255
*
249256
* @group mysql
250257
* @group pgsql
251258
*/
252259
public function testLoadFixturesAndPurge(): void
253260
{
254261
$fixtures = $this->databaseTool->loadFixtures([
255-
'Liip\Acme\Tests\App\DataFixtures\ORM\LoadUserData',
262+
LoadUserData::class,
256263
]);
257264

258265
$this->assertInstanceOf(
259-
'Doctrine\Common\DataFixtures\Executor\ORMExecutor',
266+
ORMExecutor::class,
260267
$fixtures
261268
);
262269

@@ -283,7 +290,7 @@ public function testLoadFixturesAndPurge(): void
283290

284291
// Reload fixtures
285292
$this->databaseTool->loadFixtures([
286-
'Liip\Acme\Tests\App\DataFixtures\ORM\LoadUserData',
293+
LoadUserData::class,
287294
]);
288295

289296
$users = $this->userRepository->findAll();
@@ -358,11 +365,11 @@ public function testLoadFixturesFiles(): void
358365
public function testLoadDependentFixtures(): void
359366
{
360367
$fixtures = $this->databaseTool->loadFixtures([
361-
'Liip\Acme\Tests\App\DataFixtures\ORM\LoadDependentUserData',
368+
LoadDependentUserData::class,
362369
]);
363370

364371
$this->assertInstanceOf(
365-
'Doctrine\Common\DataFixtures\Executor\ORMExecutor',
372+
ORMExecutor::class,
366373
$fixtures
367374
);
368375

tests/Test/ConfigPgsqlCacheDbTest.php

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
namespace Liip\Acme\Tests\Test;
1515

1616
use Doctrine\Common\Annotations\Annotation\IgnoreAnnotation;
17+
use Liip\Acme\Tests\App\DataFixtures\ORM\LoadSecondUserData;
18+
use Liip\Acme\Tests\App\DataFixtures\ORM\LoadUserData;
1719
use Liip\Acme\Tests\App\Entity\User;
1820
use Liip\Acme\Tests\AppConfigPgsqlCacheDb\AppConfigPgsqlKernelCacheDb;
1921

@@ -53,7 +55,7 @@ public function testLoadFixturesAndCheckBackup(): void
5355
$this->assertTrue($this->databaseTool->isDatabaseCacheEnabled());
5456

5557
$this->databaseTool->loadFixtures([
56-
'Liip\Acme\Tests\App\DataFixtures\ORM\LoadUserData',
58+
LoadUserData::class,
5759
]);
5860

5961
// Load data from database
@@ -93,7 +95,7 @@ public function testLoadFixturesAndCheckBackup(): void
9395

9496
// Load fixtures again
9597
$this->databaseTool->loadFixtures([
96-
'Liip\Acme\Tests\App\DataFixtures\ORM\LoadUserData',
98+
LoadUserData::class,
9799
]);
98100

99101
$users = $this->userRepository->findAll();
@@ -124,7 +126,7 @@ public function testLoadFixturesAndCheckBackup(): void
124126
public function testLoadFixturesCheckReferences(): void
125127
{
126128
$referenceRepository = $this->databaseTool->loadFixtures([
127-
'Liip\Acme\Tests\App\DataFixtures\ORM\LoadUserData',
129+
LoadUserData::class,
128130
])->getReferenceRepository();
129131

130132
$references = $referenceRepository->getReferencesByClass();
@@ -136,8 +138,8 @@ public function testLoadFixturesCheckReferences(): void
136138
$this->assertCount(1, $references[$className]);
137139

138140
$referenceRepository = $this->databaseTool->loadFixtures([
139-
'Liip\Acme\Tests\App\DataFixtures\ORM\LoadUserData',
140-
'Liip\Acme\Tests\App\DataFixtures\ORM\LoadSecondUserData',
141+
LoadUserData::class,
142+
LoadSecondUserData::class,
141143
])->getReferenceRepository();
142144

143145
$references = $referenceRepository->getReferencesByClass();

0 commit comments

Comments
 (0)