Skip to content

Commit 20c9caf

Browse files
authored
Add types in tests (doctrine#2978)
1 parent 296a337 commit 20c9caf

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+120
-234
lines changed

tests/Tests/Aggregation/AggregationOperatorsProviderTrait.php

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

55
namespace Doctrine\ODM\MongoDB\Tests\Aggregation;
66

7-
use Closure;
87
use Doctrine\ODM\MongoDB\Aggregation\Expr;
98
use Doctrine\ODM\MongoDB\Mapping\ClassMetadata;
109
use Documents\User;
1110
use Generator;
1211
use InvalidArgumentException;
1312

1413
use function is_array;
14+
use function is_callable;
1515

1616
trait AggregationOperatorsProviderTrait
1717
{
@@ -1521,17 +1521,17 @@ protected function createExpr(): Expr
15211521
}
15221522

15231523
/**
1524-
* @param Closure(Expr): mixed[]|mixed[] $args
1524+
* @param callable(Expr): mixed[]|mixed[] $args
15251525
*
15261526
* @return mixed[]
15271527
*/
1528-
protected function resolveArgs($args): array
1528+
protected function resolveArgs(callable|array $args): array
15291529
{
15301530
if (is_array($args)) {
15311531
return $args;
15321532
}
15331533

1534-
if ($args instanceof Closure) {
1534+
if (is_callable($args)) {
15351535
return $args($this->createExpr());
15361536
}
15371537

tests/Tests/Aggregation/ExprTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class ExprTest extends BaseTestCase
3737
#[DataProvider('provideTrigonometryExpressionOperators')]
3838
#[DataProvider('provideTypeExpressionOperators')]
3939
#[DataProvider('provideWindowExpressionOperators')]
40-
public function testGenericOperator(array $expected, string $operator, $args): void
40+
public function testGenericOperator(array $expected, string $operator, array|Closure $args): void
4141
{
4242
$expr = $this->createExpr();
4343
$args = $this->resolveArgs($args);
@@ -68,7 +68,7 @@ public function testGenericOperator(array $expected, string $operator, $args): v
6868
#[DataProvider('provideTrigonometryExpressionOperators')]
6969
#[DataProvider('provideTypeExpressionOperators')]
7070
#[DataProvider('provideWindowExpressionOperators')]
71-
public function testGenericOperatorWithField(array $expected, string $operator, $args): void
71+
public function testGenericOperatorWithField(array $expected, string $operator, array|Closure $args): void
7272
{
7373
$expr = $this->createExpr();
7474
$args = $this->resolveArgs($args);

tests/Tests/Aggregation/Stage/BucketAutoTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class BucketAutoTest extends BaseTestCase
2525
* @param mixed[]|Closure(Expr): mixed[] $args
2626
*/
2727
#[DataProvider('provideGroupAccumulatorExpressionOperators')]
28-
public function testGroupAccumulators(array $expected, string $operator, $args): void
28+
public function testGroupAccumulators(array $expected, string $operator, array|Closure $args): void
2929
{
3030
$args = $this->resolveArgs($args);
3131

tests/Tests/Aggregation/Stage/BucketTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class BucketTest extends BaseTestCase
2525
* @param mixed[]|Closure(Expr): mixed[] $args
2626
*/
2727
#[DataProvider('provideGroupAccumulatorExpressionOperators')]
28-
public function testGroupAccumulators(array $expected, string $operator, $args): void
28+
public function testGroupAccumulators(array $expected, string $operator, array|Closure $args): void
2929
{
3030
$args = $this->resolveArgs($args);
3131

tests/Tests/Aggregation/Stage/GeoNearTest.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,8 @@ public function testFromBuilder(): void
3939
self::assertSame([['$geoNear' => $stage]], $builder->getPipeline());
4040
}
4141

42-
/** @param mixed $value */
4342
#[DataProvider('provideOptionalSettings')]
44-
public function testOptionalSettings(string $field, $value): void
43+
public function testOptionalSettings(string $field, mixed $value): void
4544
{
4645
$geoNearStage = new GeoNear($this->getTestAggregationBuilder(), 0, 0);
4746

tests/Tests/Aggregation/Stage/GroupTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class GroupTest extends BaseTestCase
2222
* @param mixed[]|Closure(Expr): mixed[] $args
2323
*/
2424
#[DataProvider('provideGroupAccumulatorExpressionOperators')]
25-
public function testGroupAccumulators(array $expected, string $operator, $args): void
25+
public function testGroupAccumulators(array $expected, string $operator, array|Closure $args): void
2626
{
2727
$groupStage = new Group($this->getTestAggregationBuilder());
2828
$args = $this->resolveArgs($args);

tests/Tests/Aggregation/Stage/MergeTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ public static function providePipeline(): Generator
8383

8484
/** @param array<array<string, mixed>>|callable $pipeline */
8585
#[DataProvider('providePipeline')]
86-
public function testStageWithPipeline($pipeline): void
86+
public function testStageWithPipeline(array|callable $pipeline): void
8787
{
8888
if (is_callable($pipeline)) {
8989
$pipeline = $pipeline($this->dm->createAggregationBuilder(SimpleReferenceUser::class));

tests/Tests/Aggregation/Stage/OperatorTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class OperatorTest extends BaseTestCase
3737
#[DataProvider('provideTimestampExpressionOperators')]
3838
#[DataProvider('provideTrigonometryExpressionOperators')]
3939
#[DataProvider('provideTypeExpressionOperators')]
40-
public function testProxiedExpressionOperators(array $expected, string $operator, $args): void
40+
public function testProxiedExpressionOperators(array $expected, string $operator, array|Closure $args): void
4141
{
4242
$stage = $this->getStubStage();
4343
$args = $this->resolveArgs($args);

tests/Tests/Aggregation/Stage/ProjectTest.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,9 @@ public function testFromBuilder(): void
4040
self::assertSame([['$project' => ['_id' => false, '$field' => true, '$otherField' => true, 'product' => ['$multiply' => ['$field', 5]]]]], $builder->getPipeline());
4141
}
4242

43+
/** @param mixed[] $args */
4344
#[DataProvider('provideAccumulatorExpressionOperators')]
44-
public function testAccumulatorsWithMultipleArguments(array $expected, string $operator, $args): void
45+
public function testAccumulatorsWithMultipleArguments(array $expected, string $operator, array $args): void
4546
{
4647
$projectStage = new Project($this->getTestAggregationBuilder());
4748
$projectStage

tests/Tests/Aggregation/Stage/SetWindowFieldsTest.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
namespace Doctrine\ODM\MongoDB\Tests\Aggregation\Stage;
66

7+
use Doctrine\ODM\MongoDB\Aggregation\Expr;
78
use Doctrine\ODM\MongoDB\Aggregation\Stage\SetWindowFields;
89
use Doctrine\ODM\MongoDB\Tests\Aggregation\AggregationOperatorsProviderTrait;
910
use Doctrine\ODM\MongoDB\Tests\Aggregation\AggregationTestTrait;
@@ -74,9 +75,10 @@ public function testStage(): void
7475
);
7576
}
7677

78+
/** @param callable(Expr): mixed[]|mixed[] $args */
7779
#[DataProvider('provideGroupAccumulatorExpressionOperators')]
7880
#[DataProvider('provideWindowExpressionOperators')]
79-
public function testOperators(array $expected, string $operator, $args): void
81+
public function testOperators(array $expected, string $operator, array|callable $args): void
8082
{
8183
$args = $this->resolveArgs($args);
8284

0 commit comments

Comments
 (0)