Skip to content

Commit 7fe03c9

Browse files
committed
fix(test): replace Collection|iterable with Collection and add appropriate PHPDoc tags
Fixes several phpstan errors ignored in the config
1 parent 9e382e0 commit 7fe03c9

File tree

27 files changed

+256
-36
lines changed

27 files changed

+256
-36
lines changed

phpstan.neon.dist

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ parameters:
4747
message: '#but database expects#'
4848
paths:
4949
- tests/Fixtures/TestBundle/Entity/
50-
- '#Cannot call method add\(\) on iterable.#'
5150
-
5251
message: '#is never read, only written.#'
5352
paths:

src/Doctrine/Common/Tests/Fixtures/TestBundle/Entity/Dummy.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,9 @@ class Dummy
103103
#[ORM\ManyToOne(targetEntity: RelatedDummy::class)]
104104
public ?RelatedDummy $relatedDummy = null;
105105

106+
/**
107+
* @var Collection<int, RelatedDummy>|iterable
108+
*/
106109
#[ORM\ManyToMany(targetEntity: RelatedDummy::class)]
107110
public Collection|iterable $relatedDummies;
108111

@@ -253,6 +256,10 @@ public function setRelatedDummy(RelatedDummy $relatedDummy): void
253256

254257
public function addRelatedDummy(RelatedDummy $relatedDummy): void
255258
{
259+
if(!$this->relatedDummies instanceof Collection) {
260+
return;
261+
}
262+
256263
$this->relatedDummies->add($relatedDummy);
257264
}
258265

@@ -302,6 +309,9 @@ public function getDummy()
302309
return $this->dummy;
303310
}
304311

312+
/**
313+
* @return Collection<int, RelatedDummy>|iterable
314+
*/
305315
public function getRelatedDummies(): Collection|iterable
306316
{
307317
return $this->relatedDummies;

src/Doctrine/Common/Tests/Fixtures/TestBundle/Entity/RelatedDummy.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,9 @@ class RelatedDummy extends ParentDummy implements \Stringable
8282
#[Groups(['barcelona', 'chicago', 'friends'])]
8383
public ?ThirdLevel $thirdLevel = null;
8484

85+
/**
86+
* @var Collection<int, RelatedToDummyFriend>|iterable
87+
*/
8588
#[ORM\OneToMany(targetEntity: RelatedToDummyFriend::class, cascade: ['persist'], mappedBy: 'relatedDummy')]
8689
#[Groups(['fakemanytomany', 'friends'])]
8790
public Collection|iterable $relatedToDummyFriend;
@@ -168,6 +171,8 @@ public function setThirdLevel(?ThirdLevel $thirdLevel = null): void
168171

169172
/**
170173
* Get relatedToDummyFriend.
174+
*
175+
* @return Collection<int, RelatedToDummyFriend>|iterable
171176
*/
172177
public function getRelatedToDummyFriend(): Collection|iterable
173178
{
@@ -181,6 +186,10 @@ public function getRelatedToDummyFriend(): Collection|iterable
181186
*/
182187
public function addRelatedToDummyFriend(RelatedToDummyFriend $relatedToDummyFriend): void
183188
{
189+
if(!$this->relatedToDummyFriend instanceof Collection) {
190+
return;
191+
}
192+
184193
$this->relatedToDummyFriend->add($relatedToDummyFriend);
185194
}
186195

src/Doctrine/Odm/Tests/Fixtures/Document/Dummy.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,9 @@ class Dummy
7676
public $dummyPrice;
7777
#[ODM\ReferenceOne(targetDocument: RelatedDummy::class, storeAs: 'id', nullable: true)]
7878
public ?RelatedDummy $relatedDummy = null;
79+
/**
80+
* @return Collection<int, RelatedDummy>|iterable
81+
*/
7982
#[ODM\ReferenceMany(targetDocument: RelatedDummy::class, storeAs: 'id', nullable: true)]
8083
public Collection|iterable $relatedDummies;
8184
#[ODM\Field(type: 'hash', nullable: true)]
@@ -211,6 +214,10 @@ public function setRelatedDummy(RelatedDummy $relatedDummy): void
211214

212215
public function addRelatedDummy(RelatedDummy $relatedDummy): void
213216
{
217+
if(!$this->relatedDummies instanceof Collection) {
218+
return;
219+
}
220+
214221
$this->relatedDummies->add($relatedDummy);
215222
}
216223

src/Doctrine/Odm/Tests/Fixtures/Document/RelatedDummy.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@ class RelatedDummy extends ParentDummy implements \Stringable
4242
public $dummyDate;
4343
#[ODM\ReferenceOne(targetDocument: ThirdLevel::class, cascade: ['persist'], nullable: true, storeAs: 'id', inversedBy: 'relatedDummies')]
4444
public ?ThirdLevel $thirdLevel = null;
45+
/**
46+
* @var Collection<int, RelatedToDummyFriend>|iterable
47+
*/
4548
#[ODM\ReferenceMany(targetDocument: RelatedToDummyFriend::class, cascade: ['persist'], mappedBy: 'relatedDummy', storeAs: 'id')]
4649
public Collection|iterable $relatedToDummyFriend;
4750
#[ODM\Field(type: 'bool')]
@@ -120,6 +123,8 @@ public function setThirdLevel(?ThirdLevel $thirdLevel = null): void
120123

121124
/**
122125
* Get relatedToDummyFriend.
126+
*
127+
* @return Collection<int, RelatedToDummyFriend>|iterable
123128
*/
124129
public function getRelatedToDummyFriend(): Collection|iterable
125130
{
@@ -133,6 +138,10 @@ public function getRelatedToDummyFriend(): Collection|iterable
133138
*/
134139
public function addRelatedToDummyFriend(RelatedToDummyFriend $relatedToDummyFriend): void
135140
{
141+
if(!$this->relatedToDummyFriend instanceof Collection) {
142+
return;
143+
}
144+
136145
$this->relatedToDummyFriend->add($relatedToDummyFriend);
137146
}
138147

src/Doctrine/Orm/Tests/Fixtures/Entity/Dummy.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,9 @@ class Dummy
106106
#[ORM\ManyToOne(targetEntity: RelatedDummy::class)]
107107
public ?RelatedDummy $relatedDummy = null;
108108

109+
/**
110+
* @var Collection<int, RelatedDummy>|iterable
111+
*/
109112
#[ORM\ManyToMany(targetEntity: RelatedDummy::class)]
110113
public Collection|iterable $relatedDummies;
111114

@@ -256,6 +259,10 @@ public function setRelatedDummy(RelatedDummy $relatedDummy): void
256259

257260
public function addRelatedDummy(RelatedDummy $relatedDummy): void
258261
{
262+
if(!$this->relatedDummies instanceof Collection) {
263+
return;
264+
}
265+
259266
$this->relatedDummies->add($relatedDummy);
260267
}
261268

@@ -305,6 +312,9 @@ public function getDummy()
305312
return $this->dummy;
306313
}
307314

315+
/**
316+
* @return Collection<int, RelatedDummy>|iterable
317+
*/
308318
public function getRelatedDummies(): Collection|iterable
309319
{
310320
return $this->relatedDummies;

src/Doctrine/Orm/Tests/Fixtures/Entity/RelatedDummy.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,9 @@ class RelatedDummy extends ParentDummy implements \Stringable
9090
#[Groups(['barcelona', 'chicago', 'friends'])]
9191
public ?ThirdLevel $thirdLevel = null;
9292

93+
/**
94+
* @var Collection<int, RelatedToDummyFriend>|iterable
95+
*/
9396
#[ORM\OneToMany(targetEntity: RelatedToDummyFriend::class, cascade: ['persist'], mappedBy: 'relatedDummy')]
9497
#[Groups(['fakemanytomany', 'friends'])]
9598
public Collection|iterable $relatedToDummyFriend;
@@ -179,6 +182,8 @@ public function setThirdLevel(?ThirdLevel $thirdLevel = null): void
179182

180183
/**
181184
* Get relatedToDummyFriend.
185+
*
186+
* @return Collection<int, RelatedToDummyFriend>|iterable
182187
*/
183188
public function getRelatedToDummyFriend(): Collection|iterable
184189
{
@@ -192,6 +197,10 @@ public function getRelatedToDummyFriend(): Collection|iterable
192197
*/
193198
public function addRelatedToDummyFriend(RelatedToDummyFriend $relatedToDummyFriend): void
194199
{
200+
if(!$this->relatedToDummyFriend instanceof Collection) {
201+
return;
202+
}
203+
195204
$this->relatedToDummyFriend->add($relatedToDummyFriend);
196205
}
197206

src/OpenApi/Tests/Fixtures/Dummy.php

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -213,11 +213,6 @@ public function setRelatedDummy(RelatedDummy $relatedDummy): void
213213
$this->relatedDummy = $relatedDummy;
214214
}
215215

216-
public function addRelatedDummy(RelatedDummy $relatedDummy): void
217-
{
218-
$this->relatedDummies->add($relatedDummy);
219-
}
220-
221216
public function isDummyBoolean(): ?bool
222217
{
223218
return $this->dummyBoolean;

src/Serializer/Tests/Fixtures/ApiResource/Dummy.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ class Dummy
8686
public Collection|iterable $relatedDummies;
8787

8888
/**
89-
* @var Collection<int, RelatedDummy>
89+
* @var Collection<int, RelatedDummy>|iterable
9090
*/
9191
public Collection $relatedDummiesWithUnionTypes;
9292

@@ -223,6 +223,10 @@ public function setRelatedDummy(RelatedDummy $relatedDummy): void
223223

224224
public function addRelatedDummy(RelatedDummy $relatedDummy): void
225225
{
226+
if(!$this->relatedDummies instanceof Collection) {
227+
return;
228+
}
229+
226230
$this->relatedDummies->add($relatedDummy);
227231
}
228232

tests/Fixtures/TestBundle/Document/Answer.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,13 @@ class Answer
4343
#[Serializer\Groups(['foobar'])]
4444
#[ODM\ReferenceOne(targetDocument: Question::class, mappedBy: 'answer')]
4545
private ?Question $question = null;
46+
47+
/**
48+
* @var Collection<int, Question>
49+
*/
4650
#[Serializer\Groups(['foobar'])]
4751
#[ODM\ReferenceMany(targetDocument: Question::class, mappedBy: 'answer')]
48-
private Collection|iterable $relatedQuestions;
52+
private Collection $relatedQuestions;
4953

5054
public function __construct()
5155
{
@@ -98,8 +102,10 @@ public function getQuestion(): ?Question
98102

99103
/**
100104
* Get related question.
105+
*
106+
* @return Collection<int, Question>
101107
*/
102-
public function getRelatedQuestions(): Collection|iterable
108+
public function getRelatedQuestions(): Collection
103109
{
104110
return $this->relatedQuestions;
105111
}

0 commit comments

Comments
 (0)