Skip to content

Commit 60eaa3b

Browse files
committed
Fix some SA issues in tests
1 parent 4f44b48 commit 60eaa3b

File tree

8 files changed

+43
-40
lines changed

8 files changed

+43
-40
lines changed

phpstan-baseline.neon

Lines changed: 0 additions & 20 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

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/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/Mapping/ClassMetadataTest.php

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
use Doctrine\ODM\MongoDB\Tests\BaseTest;
1313
use Doctrine\ODM\MongoDB\Types\Type;
1414
use Doctrine\ODM\MongoDB\Utility\CollectionHelper;
15+
use DoctrineGlobal_Article;
16+
use DoctrineGlobal_User;
1517
use Documents\Account;
1618
use Documents\Address;
1719
use Documents\Album;
@@ -139,13 +141,13 @@ public function testMapAssocationInGlobalNamespace()
139141
{
140142
require_once __DIR__ . '/Documents/GlobalNamespaceDocument.php';
141143

142-
$cm = new ClassMetadata('DoctrineGlobal_Article');
144+
$cm = new ClassMetadata(DoctrineGlobal_Article::class);
143145
$cm->mapManyEmbedded([
144146
'fieldName' => 'author',
145-
'targetDocument' => 'DoctrineGlobal_User',
147+
'targetDocument' => DoctrineGlobal_User::class,
146148
]);
147149

148-
$this->assertEquals('DoctrineGlobal_User', $cm->fieldMappings['author']['targetDocument']);
150+
$this->assertEquals(DoctrineGlobal_User::class, $cm->fieldMappings['author']['targetDocument']);
149151
}
150152

151153
public function testMapManyToManyJoinTableDefaults()
@@ -182,11 +184,11 @@ public function testSetDiscriminatorMapInGlobalNamespace()
182184
{
183185
require_once __DIR__ . '/Documents/GlobalNamespaceDocument.php';
184186

185-
$cm = new ClassMetadata('DoctrineGlobal_User');
186-
$cm->setDiscriminatorMap(['descr' => 'DoctrineGlobal_Article', 'foo' => 'DoctrineGlobal_User']);
187+
$cm = new ClassMetadata(DoctrineGlobal_User::class);
188+
$cm->setDiscriminatorMap(['descr' => DoctrineGlobal_Article::class, 'foo' => DoctrineGlobal_User::class]);
187189

188-
$this->assertEquals('DoctrineGlobal_Article', $cm->discriminatorMap['descr']);
189-
$this->assertEquals('DoctrineGlobal_User', $cm->discriminatorMap['foo']);
190+
$this->assertEquals(DoctrineGlobal_Article::class, $cm->discriminatorMap['descr']);
191+
$this->assertEquals(DoctrineGlobal_User::class, $cm->discriminatorMap['foo']);
190192
}
191193

192194
/**
@@ -196,16 +198,16 @@ public function testSetSubClassesInGlobalNamespace()
196198
{
197199
require_once __DIR__ . '/Documents/GlobalNamespaceDocument.php';
198200

199-
$cm = new ClassMetadata('DoctrineGlobal_User');
200-
$cm->setSubclasses(['DoctrineGlobal_Article']);
201+
$cm = new ClassMetadata(DoctrineGlobal_User::class);
202+
$cm->setSubclasses([DoctrineGlobal_Article::class]);
201203

202-
$this->assertEquals('DoctrineGlobal_Article', $cm->subClasses[0]);
204+
$this->assertEquals(DoctrineGlobal_Article::class, $cm->subClasses[0]);
203205
}
204206

205207
public function testDuplicateFieldMapping()
206208
{
207209
$cm = new ClassMetadata(CmsUser::class);
208-
$a1 = ['reference' => true, 'type' => 'many', 'fieldName' => 'name', 'targetDocument' => 'stdClass'];
210+
$a1 = ['reference' => true, 'type' => 'many', 'fieldName' => 'name', 'targetDocument' => stdClass::class];
209211
$a2 = ['type' => 'string', 'fieldName' => 'name'];
210212

211213
$cm->mapField($a1);
@@ -309,7 +311,7 @@ public function testDefaultDiscriminatorField()
309311
'fieldName' => 'assocWithTargetDocument',
310312
'reference' => true,
311313
'type' => 'one',
312-
'targetDocument' => 'stdClass',
314+
'targetDocument' => stdClass::class,
313315
]);
314316

315317
$cm->mapField([

tests/Documents/CmsArticle.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ class CmsArticle
1919
/** @ODM\Field(type="string") */
2020
public $topic;
2121
/** @ODM\Field(type="string") */
22+
public $title;
23+
/** @ODM\Field(type="string") */
2224
public $text;
2325
/** @ODM\ReferenceOne(targetDocument=CmsUser::class) */
2426
public $user;

tests/Documents/Functional/Ticket/GH683/ParentDocument.php

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,29 @@
44

55
namespace Documents\Functional\Ticket\GH683;
66

7+
use Doctrine\Common\Collections\Collection;
78
use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM;
89

910
/** @ODM\Document(collection="gh683_test") */
1011
class ParentDocument
1112
{
1213
/** @ODM\Id */
1314
public $id;
15+
1416
/** @ODM\Field(type="string") */
1517
public $name;
16-
/** @ODM\EmbedOne(targetDocument=AbstractEmbedded::class) */
18+
19+
/**
20+
* @ODM\EmbedOne(targetDocument=AbstractEmbedded::class)
21+
*
22+
* @var AbstractEmbedded|null
23+
*/
1724
public $embedOne;
18-
/** @ODM\EmbedMany(targetDocument=AbstractEmbedded::class) */
25+
26+
/**
27+
* @ODM\EmbedMany(targetDocument=AbstractEmbedded::class)
28+
*
29+
* @var Collection<int, AbstractEmbedded>
30+
*/
1931
public $embedMany;
2032
}

0 commit comments

Comments
 (0)