Skip to content

Commit 5965e33

Browse files
committed
Fix date filter tests with immutable dates
1 parent c49f3a2 commit 5965e33

1 file changed

Lines changed: 23 additions & 15 deletions

File tree

tests/Bridge/Doctrine/Orm/Filter/DateFilterTest.php

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,11 @@ public function testApplyDate()
3838
$this->doTestApplyDate(false);
3939
}
4040

41+
public function testApplyDateImmutable()
42+
{
43+
$this->doTestApplyDateImmutable(false);
44+
}
45+
4146
/**
4247
* @group legacy
4348
*/
@@ -46,6 +51,14 @@ public function testRequestApplyDate()
4651
$this->doTestApplyDate(true);
4752
}
4853

54+
/**
55+
* @group legacy
56+
*/
57+
public function testRequestApplyDateImmutable()
58+
{
59+
$this->doTestApplyDateImmutable(true);
60+
}
61+
4962
private function doTestApplyDate(bool $request)
5063
{
5164
$filters = ['dummyDate' => ['after' => '2015-04-05']];
@@ -65,26 +78,21 @@ private function doTestApplyDate(bool $request)
6578
$this->assertInstanceOf(\DateTime::class, $queryBuilder->getParameters()[0]->getValue());
6679
}
6780

68-
public function testApplyDateImmutable()
81+
private function doTestApplyDateImmutable(bool $request)
6982
{
70-
$request = Request::create('/api/dummy_immutable_dates', 'GET', [
71-
'dummyDate' => [
72-
'after' => '2015-04-05',
73-
],
74-
]);
75-
$requestStack = new RequestStack();
76-
$requestStack->push($request);
83+
$filters = ['dummyDate' => ['after' => '2015-04-05']];
84+
85+
$requestStack = null;
86+
if ($request) {
87+
$requestStack = new RequestStack();
88+
$requestStack->push(Request::create('/api/dummy_immutable_dates', 'GET', $filters));
89+
}
7790

7891
$queryBuilder = $this->repository->createQueryBuilder('o');
7992

80-
$filter = new DateFilter(
81-
$this->managerRegistry,
82-
$requestStack,
83-
null,
84-
['dummyDate' => null]
85-
);
93+
$filter = new DateFilter($this->managerRegistry, $requestStack, null, ['dummyDate' => null]);
94+
$filter->apply($queryBuilder, new QueryNameGenerator(), DummyImmutableDate::class, null, $request ? [] : ['filters' => $filters]);
8695

87-
$filter->apply($queryBuilder, new QueryNameGenerator(), DummyImmutableDate::class);
8896
$this->assertEquals(new \DateTimeImmutable('2015-04-05'), $queryBuilder->getParameters()[0]->getValue());
8997
$this->assertInstanceOf(\DateTimeImmutable::class, $queryBuilder->getParameters()[0]->getValue());
9098
}

0 commit comments

Comments
 (0)