@@ -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