18
18
use ApiPlatform \Core \Tests \Fixtures \TestBundle \Entity \Dummy ;
19
19
use ApiPlatform \Core \Tests \Fixtures \TestBundle \Entity \DummyDate ;
20
20
use ApiPlatform \Core \Tests \Fixtures \TestBundle \Entity \DummyImmutableDate ;
21
- use Doctrine \Common \Persistence \ManagerRegistry ;
22
- use Doctrine \ORM \EntityRepository ;
23
- use Symfony \Bridge \Doctrine \Test \DoctrineTestHelper ;
24
- use Symfony \Bundle \FrameworkBundle \Test \KernelTestCase ;
25
21
use Symfony \Component \HttpFoundation \Request ;
26
22
use Symfony \Component \HttpFoundation \RequestStack ;
27
23
@@ -36,6 +32,7 @@ class DateFilterTest extends AbstractFilterTest
36
32
public function testApplyDate ()
37
33
{
38
34
$ this ->doTestApplyDate (false );
35
+ $ this ->doTestApplyDateImmutable (false );
39
36
}
40
37
41
38
/**
@@ -44,6 +41,7 @@ public function testApplyDate()
44
41
public function testRequestApplyDate ()
45
42
{
46
43
$ this ->doTestApplyDate (true );
44
+ $ this ->doTestApplyDateImmutable (true );
47
45
}
48
46
49
47
private function doTestApplyDate (bool $ request )
@@ -65,26 +63,21 @@ private function doTestApplyDate(bool $request)
65
63
$ this ->assertInstanceOf (\DateTime::class, $ queryBuilder ->getParameters ()[0 ]->getValue ());
66
64
}
67
65
68
- public function testApplyDateImmutable ( )
66
+ private function doTestApplyDateImmutable ( bool $ request )
69
67
{
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 );
68
+ $ filters = [ ' dummyDate ' => [ ' after ' => ' 2015-04-05 ' ]];
69
+
70
+ $ requestStack = null ;
71
+ if ( $ request ) {
72
+ $ requestStack = new RequestStack ( );
73
+ $ requestStack -> push (Request:: create ( ' /api/dummy_immutable_date ' , ' GET ' , $ filters ) );
74
+ }
77
75
78
76
$ queryBuilder = $ this ->repository ->createQueryBuilder ('o ' );
79
77
80
- $ filter = new DateFilter (
81
- $ this ->managerRegistry ,
82
- $ requestStack ,
83
- null ,
84
- ['dummyDate ' => null ]
85
- );
78
+ $ filter = new DateFilter ($ this ->managerRegistry , $ requestStack , null , ['dummyDate ' => null ]);
79
+ $ filter ->apply ($ queryBuilder , new QueryNameGenerator (), DummyImmutableDate::class, null , $ request ? [] : ['filters ' => $ filters ]);
86
80
87
- $ filter ->apply ($ queryBuilder , new QueryNameGenerator (), DummyImmutableDate::class);
88
81
$ this ->assertEquals (new \DateTimeImmutable ('2015-04-05 ' ), $ queryBuilder ->getParameters ()[0 ]->getValue ());
89
82
$ this ->assertInstanceOf (\DateTimeImmutable::class, $ queryBuilder ->getParameters ()[0 ]->getValue ());
90
83
}
0 commit comments