Skip to content

Commit d35b8d4

Browse files
authored
Merge pull request #2327 from franmomu/issues_tests_sa
Fix some issues of Psalm in level 6
2 parents 9676493 + 08bdcdf commit d35b8d4

20 files changed

+138
-132
lines changed

phpstan-baseline.neon

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -89,16 +89,6 @@ parameters:
8989
count: 1
9090
path: tests/Doctrine/ODM/MongoDB/Tests/Functional/EcommerceTest.php
9191

92-
-
93-
message: "#^Parameter \\#1 \\$object of method Doctrine\\\\ODM\\\\MongoDB\\\\DocumentManager\\:\\:detach\\(\\) expects object, float\\|int given\\.$#"
94-
count: 1
95-
path: tests/Doctrine/ODM/MongoDB/Tests/Functional/EcommerceTest.php
96-
97-
-
98-
message: "#^Parameter \\#2 \\$currency of class Documents\\\\Ecommerce\\\\Money constructor expects Documents\\\\Ecommerce\\\\Currency, int given\\.$#"
99-
count: 6
100-
path: tests/Doctrine/ODM/MongoDB/Tests/Functional/EcommerceTest.php
101-
10292
-
10393
message: "#^Cannot call method getCount\\(\\) on array\\|int\\|object\\.$#"
10494
count: 1
@@ -154,11 +144,6 @@ parameters:
154144
count: 2
155145
path: tests/Doctrine/ODM/MongoDB/Tests/Functional/QueryTest.php
156146

157-
-
158-
message: "#^Parameter \\#1 \\$coll of method Doctrine\\\\ODM\\\\MongoDB\\\\UnitOfWork\\:\\:isCollectionScheduledForUpdate\\(\\) expects Doctrine\\\\ODM\\\\MongoDB\\\\PersistentCollection\\\\PersistentCollectionInterface, Doctrine\\\\Common\\\\Collections\\\\ArrayCollection\\<mixed, mixed\\> given\\.$#"
159-
count: 1
160-
path: tests/Doctrine/ODM/MongoDB/Tests/Functional/Ticket/GH1011Test.php
161-
162147
-
163148
message: "#^Comparison operation \"\\<\" between \\(array\\|float\\|int\\) and 0 results in an error\\.$#"
164149
count: 1
@@ -229,11 +214,6 @@ parameters:
229214
count: 1
230215
path: tests/Doctrine/ODM/MongoDB/Tests/Mapping/ClassMetadataTest.php
231216

232-
-
233-
message: "#^Access to an undefined property Documents\\\\CmsArticle\\:\\:\\$title\\.$#"
234-
count: 4
235-
path: tests/Doctrine/ODM/MongoDB/Tests/Persisters/PersistenceBuilderTest.php
236-
237217
-
238218
message: "#^Parameter \\#1 \\$primer of method Doctrine\\\\ODM\\\\MongoDB\\\\Query\\\\Builder\\:\\:prime\\(\\) expects bool\\|\\(callable\\(\\)\\: mixed\\), 1 given\\.$#"
239219
count: 1
@@ -244,22 +224,7 @@ parameters:
244224
count: 1
245225
path: tests/Doctrine/ODM/MongoDB/Tests/QueryTest.php
246226

247-
-
248-
message: "#^Call to an undefined method MongoDB\\\\Collection\\:\\:expects\\(\\)\\.$#"
249-
count: 14
250-
path: tests/Doctrine/ODM/MongoDB/Tests/SchemaManagerTest.php
251-
252227
-
253228
message: "#^Method Doctrine\\\\ODM\\\\MongoDB\\\\Tests\\\\SchemaManagerTest\\:\\:writeOptions\\(\\) should return PHPUnit\\\\Framework\\\\Constraint\\\\Constraint but returns PHPUnit\\\\Framework\\\\Constraint\\\\ArraySubset\\.$#"
254229
count: 1
255230
path: tests/Doctrine/ODM/MongoDB/Tests/SchemaManagerTest.php
256-
257-
-
258-
message: "#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with 'DateTimeImmutable' and null will always evaluate to false\\.$#"
259-
count: 1
260-
path: tests/Doctrine/ODM/MongoDB/Tests/Types/DateImmutableTypeTest.php
261-
262-
-
263-
message: "#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertInstanceOf\\(\\) with 'DateTime' and null will always evaluate to false\\.$#"
264-
count: 1
265-
path: tests/Doctrine/ODM/MongoDB/Tests/Types/DateTypeTest.php

tests/Doctrine/ODM/MongoDB/Tests/Functional/AtomicSetTest.php

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -274,18 +274,18 @@ public function testWeNeedToGoDeeper()
274274

275275
$user = $this->dm->getRepository(get_class($user))->find($user->id);
276276
$this->assertCount(1, $user->inception);
277-
$this->assertEquals($user->inception[0]->value, 'start');
277+
$this->assertEquals('start', $user->inception[0]->value);
278278
$this->assertNotNull($user->inception[0]->one);
279-
$this->assertEquals($user->inception[0]->one->value, 'start.one');
279+
$this->assertEquals('start.one', $user->inception[0]->one->value);
280280
$this->assertCount(2, $user->inception[0]->one->many);
281-
$this->assertEquals($user->inception[0]->one->many[0]->value, 'start.one.many.0');
282-
$this->assertEquals($user->inception[0]->one->many[1]->value, 'start.one.many.1');
281+
$this->assertEquals('start.one.many.0', $user->inception[0]->one->many[0]->value);
282+
$this->assertEquals('start.one.many.1', $user->inception[0]->one->many[1]->value);
283283
$this->assertNotNull($user->inception[0]->one->one);
284-
$this->assertEquals($user->inception[0]->one->one->value, 'start.one.one');
284+
$this->assertEquals('start.one.one', $user->inception[0]->one->one->value);
285285
$this->assertCount(1, $user->inception[0]->one->one->many);
286-
$this->assertEquals($user->inception[0]->one->one->many[0]->value, 'start.one.one.many.0');
286+
$this->assertEquals('start.one.one.many.0', $user->inception[0]->one->one->many[0]->value);
287287
$this->assertCount(1, $user->inception[0]->one->one->many[0]->many);
288-
$this->assertEquals($user->inception[0]->one->one->many[0]->many[0]->value, 'start.one.one.many.0.many.0');
288+
$this->assertEquals('start.one.one.many.0.many.0', $user->inception[0]->one->one->many[0]->many[0]->value);
289289

290290
unset($user->inception[0]->one->many[0]);
291291
$user->inception[0]->one->many[] = new AtomicSetInception('start.one.many.2');
@@ -297,24 +297,24 @@ public function testWeNeedToGoDeeper()
297297

298298
$user = $this->dm->getRepository(get_class($user))->find($user->id);
299299
$this->assertCount(1, $user->inception);
300-
$this->assertEquals($user->inception[0]->value, 'start');
300+
$this->assertEquals('start', $user->inception[0]->value);
301301
$this->assertNotNull($user->inception[0]->one);
302-
$this->assertEquals($user->inception[0]->one->value, 'start.one');
302+
$this->assertEquals('start.one', $user->inception[0]->one->value);
303303
$this->assertCount(2, $user->inception[0]->one->many);
304304
/* Note: Since the "start.one.many" collection uses a pushAll strategy,
305305
* "start.one.many.1" is reindexed at 0 after fetching. Before the last
306306
* flush (when we unset "start.one.many.0"), it would still have been
307307
* accessible via index 1.
308308
*/
309-
$this->assertEquals($user->inception[0]->one->many[0]->value, 'start.one.many.1');
310-
$this->assertEquals($user->inception[0]->one->many[1]->value, 'start.one.many.2');
309+
$this->assertEquals('start.one.many.1', $user->inception[0]->one->many[0]->value);
310+
$this->assertEquals('start.one.many.2', $user->inception[0]->one->many[1]->value);
311311
$this->assertNotNull($user->inception[0]->one->one);
312-
$this->assertEquals($user->inception[0]->one->one->value, 'start.one.one');
312+
$this->assertEquals('start.one.one', $user->inception[0]->one->one->value);
313313
$this->assertCount(1, $user->inception[0]->one->one->many);
314-
$this->assertEquals($user->inception[0]->one->one->many[0]->value, 'start.one.one.many.0');
314+
$this->assertEquals('start.one.one.many.0', $user->inception[0]->one->one->many[0]->value);
315315
$this->assertCount(2, $user->inception[0]->one->one->many[0]->many);
316-
$this->assertEquals($user->inception[0]->one->one->many[0]->many[0]->value, 'start.one.one.many.0.many.0');
317-
$this->assertEquals($user->inception[0]->one->one->many[0]->many[1]->value, 'start.one.one.many.0.many.1');
316+
$this->assertEquals('start.one.one.many.0.many.0', $user->inception[0]->one->one->many[0]->many[0]->value);
317+
$this->assertEquals('start.one.one.many.0.many.1', $user->inception[0]->one->one->many[0]->many[1]->value);
318318
}
319319

320320
public function testUpdatingNestedCollectionWhileDeletingParent()
@@ -332,14 +332,14 @@ public function testUpdatingNestedCollectionWhileDeletingParent()
332332

333333
$user = $this->dm->getRepository(get_class($user))->find($user->id);
334334
$this->assertCount(1, $user->inception);
335-
$this->assertEquals($user->inception[0]->value, 'start');
335+
$this->assertEquals('start', $user->inception[0]->value);
336336
$this->assertCount(2, $user->inception[0]->many);
337-
$this->assertEquals($user->inception[0]->many[0]->value, 'start.many.0');
337+
$this->assertEquals('start.many.0', $user->inception[0]->many[0]->value);
338338
$this->assertCount(1, $user->inception[0]->many[0]->many);
339-
$this->assertEquals($user->inception[0]->many[0]->many[0]->value, 'start.many.0.many.0');
340-
$this->assertEquals($user->inception[0]->many[1]->value, 'start.many.1');
339+
$this->assertEquals('start.many.0.many.0', $user->inception[0]->many[0]->many[0]->value);
340+
$this->assertEquals('start.many.1', $user->inception[0]->many[1]->value);
341341
$this->assertCount(1, $user->inception[0]->many[0]->many);
342-
$this->assertEquals($user->inception[0]->many[1]->many[0]->value, 'start.many.1.many.0');
342+
$this->assertEquals('start.many.1.many.0', $user->inception[0]->many[1]->many[0]->value);
343343

344344
$user->inception[0]->many[0]->many[0]->value = 'start.many.0.many.0-changed';
345345
$user->inception[0]->many[0]->many[1] = new AtomicSetInception('start.many.0.many.1');
@@ -354,13 +354,13 @@ public function testUpdatingNestedCollectionWhileDeletingParent()
354354

355355
$user = $this->dm->getRepository(get_class($user))->find($user->id);
356356
$this->assertCount(1, $user->inception);
357-
$this->assertEquals($user->inception[0]->value, 'start');
357+
$this->assertEquals('start', $user->inception[0]->value);
358358
$this->assertCount(2, $user->inception[0]->many);
359-
$this->assertEquals($user->inception[0]->many[0]->value, 'start.many.0');
359+
$this->assertEquals('start.many.0', $user->inception[0]->many[0]->value);
360360
$this->assertCount(0, $user->inception[0]->many[0]->many);
361-
$this->assertEquals($user->inception[0]->many[1]->value, 'start.many.1');
361+
$this->assertEquals('start.many.1', $user->inception[0]->many[1]->value);
362362
$this->assertCount(1, $user->inception[0]->many[1]->many);
363-
$this->assertEquals($user->inception[0]->many[1]->many[0]->value, 'start.many.1.many.0-new');
363+
$this->assertEquals('start.many.1.many.0-new', $user->inception[0]->many[1]->many[0]->value);
364364
}
365365

366366
public function testAtomicRefMany()

tests/Doctrine/ODM/MongoDB/Tests/Functional/CustomCollectionsTest.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use Doctrine\ODM\MongoDB\Tests\BaseTest;
1515
use Documents\File;
1616
use Documents\ProfileNotify;
17+
use stdClass;
1718

1819
use function assert;
1920
use function get_class;
@@ -47,7 +48,7 @@ public function testCollectionClassHasToImplementCommonInterface()
4748
'fieldName' => 'assoc',
4849
'reference' => true,
4950
'type' => 'many',
50-
'collectionClass' => 'stdClass',
51+
'collectionClass' => stdClass::class,
5152
]);
5253
}
5354

tests/Doctrine/ODM/MongoDB/Tests/Functional/EcommerceTest.php

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,14 @@ public function setUp(): void
1717
{
1818
parent::setUp();
1919

20-
$currencies = ['USD' => 1, 'EURO' => 1.7, 'JPN' => 0.0125];
20+
$currencies = [];
21+
$multipliers = ['USD' => 1, 'EURO' => 1.7, 'JPN' => 0.0125];
2122

22-
foreach ($currencies as $name => &$multiplier) {
23-
$multiplier = new Currency($name, $multiplier);
24-
$this->dm->persist($multiplier);
23+
foreach ($multipliers as $currencyName => $multiplier) {
24+
$currency = new Currency($currencyName, $multiplier);
25+
$this->dm->persist($currency);
26+
27+
$currencies[$currencyName] = $currency;
2528
}
2629

2730
$product = new ConfigurableProduct('T-Shirt');

tests/Doctrine/ODM/MongoDB/Tests/Functional/IdTest.php

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -88,11 +88,11 @@ public function testCollectionId()
8888
$this->dm->flush();
8989
$this->dm->clear();
9090

91-
$this->assertEquals($user1->id, 1);
92-
$this->assertEquals($user2->id, 2);
91+
$this->assertEquals(1, $user1->id);
92+
$this->assertEquals(2, $user2->id);
9393

94-
$this->assertEquals($reference1->id, 1);
95-
$this->assertEquals($reference2->id, 2);
94+
$this->assertEquals(1, $reference1->id);
95+
$this->assertEquals(2, $reference2->id);
9696

9797
$check1 = $this->dm->getRepository(CollectionIdUser::class)->findOneBy(['id' => $user1->id]);
9898
$check2 = $this->dm->getRepository(CollectionIdUser::class)->findOneBy(['id' => $user2->id]);
@@ -116,8 +116,8 @@ public function testCollectionIdWithStartingId()
116116
$this->dm->flush();
117117
$this->dm->clear();
118118

119-
$this->assertEquals($user1->id, 10);
120-
$this->assertEquals($user2->id, 11);
119+
$this->assertEquals(10, $user1->id);
120+
$this->assertEquals(11, $user2->id);
121121
}
122122

123123
public function testEmbeddedDocumentWithId()
@@ -134,14 +134,14 @@ public function testEmbeddedDocumentWithId()
134134
$this->dm->persist($user2);
135135
$this->dm->flush();
136136

137-
$this->assertEquals($user1->id, 1);
138-
$this->assertEquals($user2->id, 2);
137+
$this->assertEquals(1, $user1->id);
138+
$this->assertEquals(2, $user2->id);
139139

140-
$this->assertEquals($user1->embedded[0]->id, 1);
141-
$this->assertEquals($user1->embedded[1]->id, 2);
140+
$this->assertEquals(1, $user1->embedded[0]->id);
141+
$this->assertEquals(2, $user1->embedded[1]->id);
142142

143-
$this->assertEquals($user2->embedded[0]->id, 3);
144-
$this->assertEquals($user2->embedded[1]->id, 4);
143+
$this->assertEquals(3, $user2->embedded[0]->id);
144+
$this->assertEquals(4, $user2->embedded[1]->id);
145145
}
146146

147147
public function testIdGeneratorInstance()

tests/Doctrine/ODM/MongoDB/Tests/Functional/QueryTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,7 @@ public function testNestedQueryReference()
390390
$this->dm->persist($user);
391391
$this->dm->flush();
392392

393-
$qb = $this->dm->createQueryBuilder('Documents\ReferenceUser');
393+
$qb = $this->dm->createQueryBuilder(ReferenceUser::class);
394394

395395
$referencedUsersQuery = $qb
396396
->field('indirectlyReferencedUsers.user.id')->equals(new ObjectId($referencedUser->getId()))

tests/Doctrine/ODM/MongoDB/Tests/Functional/Ticket/GH1011Test.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
use Doctrine\Common\Collections\ArrayCollection;
88
use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM;
9+
use Doctrine\ODM\MongoDB\PersistentCollection\PersistentCollectionInterface;
910
use Doctrine\ODM\MongoDB\Tests\BaseTest;
1011

1112
class GH1011Test extends BaseTest
@@ -33,7 +34,9 @@ public function testReplaceCollection()
3334
$doc->embeds = new ArrayCollection();
3435
$doc->embeds->add(new GH1011Embedded('test2'));
3536
$this->uow->computeChangeSets();
37+
$this->assertInstanceOf(PersistentCollectionInterface::class, $doc->embeds);
3638
$this->assertTrue($this->uow->isCollectionScheduledForUpdate($doc->embeds));
39+
$this->assertInstanceOf(PersistentCollectionInterface::class, $oldCollection);
3740
$this->assertFalse($this->uow->isCollectionScheduledForDeletion($oldCollection));
3841
}
3942
}

tests/Doctrine/ODM/MongoDB/Tests/Functional/Ticket/GH1428Test.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public function testShortNameLossOnReplacingMiddleEmbeddedDocOfNestedEmbedding()
2828
$this->dm->flush();
2929
$this->assertTrue(true);
3030
} catch (Notice $ex) {
31-
$this->fail($ex);
31+
$this->fail($ex->getMessage());
3232
}
3333
}
3434
}

tests/Doctrine/ODM/MongoDB/Tests/Functional/Ticket/GH2157Test.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77
use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM;
88
use Doctrine\ODM\MongoDB\Tests\BaseTest;
99

10-
use function count;
11-
1210
class GH2157Test extends BaseTest
1311
{
1412
public function testFacetDiscriminatorMapCreation()
@@ -36,7 +34,7 @@ public function testFacetDiscriminatorMapCreation()
3634
->execute()->toArray();
3735

3836
$this->assertEquals(4, $result[0]['count'][0]['count']);
39-
$this->assertEquals(2, count($result[0]['limitedResults']));
37+
$this->assertCount(2, $result[0]['limitedResults']);
4038
}
4139
}
4240

tests/Doctrine/ODM/MongoDB/Tests/Functional/Ticket/MODM90Test.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public function testDiscriminatorFieldValuePresentIfRealProperty()
6969

7070
$testDoc = $dm->find(MODM90TestDocument::class, $testDoc->id);
7171

72-
$this->assertEquals($testDoc->embedded->type, 'test2');
72+
$this->assertEquals('test2', $testDoc->embedded->type);
7373
}
7474
}
7575

0 commit comments

Comments
 (0)