@@ 57-75 (lines=19) @@ | ||
54 | $this->transform($qb, $dqlAlias)->shouldReturn($expression); |
|
55 | } |
|
56 | ||
57 | public function it_is_transformable_custom_string_function( |
|
58 | QueryBuilder $qb, |
|
59 | EntityManagerInterface $em, |
|
60 | Configuration $configuration |
|
61 | ) { |
|
62 | $dqlAlias = 'a'; |
|
63 | $functionName = 'foo'; |
|
64 | $expression = 'foo(a.foo)'; |
|
65 | ||
66 | $qb->getEntityManager()->willReturn($em); |
|
67 | $em->getConfiguration()->willReturn($configuration); |
|
68 | $configuration->getCustomStringFunction($functionName)->willReturn('ToStringClass'); |
|
69 | $configuration->getCustomNumericFunction($functionName)->willReturn(null); |
|
70 | $configuration->getCustomDatetimeFunction($functionName)->willReturn(null); |
|
71 | ||
72 | $this->beConstructedWith($functionName, 'foo'); |
|
73 | ||
74 | $this->transform($qb, $dqlAlias)->shouldReturn($expression); |
|
75 | } |
|
76 | ||
77 | public function it_is_transformable_custom_numeric_function( |
|
78 | QueryBuilder $qb, |
|
@@ 77-95 (lines=19) @@ | ||
74 | $this->transform($qb, $dqlAlias)->shouldReturn($expression); |
|
75 | } |
|
76 | ||
77 | public function it_is_transformable_custom_numeric_function( |
|
78 | QueryBuilder $qb, |
|
79 | EntityManagerInterface $em, |
|
80 | Configuration $configuration |
|
81 | ) { |
|
82 | $dqlAlias = 'a'; |
|
83 | $functionName = 'foo'; |
|
84 | $expression = 'foo(a.foo)'; |
|
85 | ||
86 | $qb->getEntityManager()->willReturn($em); |
|
87 | $em->getConfiguration()->willReturn($configuration); |
|
88 | $configuration->getCustomStringFunction($functionName)->willReturn(null); |
|
89 | $configuration->getCustomNumericFunction($functionName)->willReturn('ToNumericClass'); |
|
90 | $configuration->getCustomDatetimeFunction($functionName)->willReturn(null); |
|
91 | ||
92 | $this->beConstructedWith($functionName, 'foo'); |
|
93 | ||
94 | $this->transform($qb, $dqlAlias)->shouldReturn($expression); |
|
95 | } |
|
96 | ||
97 | public function it_is_transformable_custom_datetime_function( |
|
98 | QueryBuilder $qb, |
|
@@ 97-115 (lines=19) @@ | ||
94 | $this->transform($qb, $dqlAlias)->shouldReturn($expression); |
|
95 | } |
|
96 | ||
97 | public function it_is_transformable_custom_datetime_function( |
|
98 | QueryBuilder $qb, |
|
99 | EntityManagerInterface $em, |
|
100 | Configuration $configuration |
|
101 | ) { |
|
102 | $dqlAlias = 'a'; |
|
103 | $functionName = 'foo'; |
|
104 | $expression = 'foo(a.foo)'; |
|
105 | ||
106 | $qb->getEntityManager()->willReturn($em); |
|
107 | $em->getConfiguration()->willReturn($configuration); |
|
108 | $configuration->getCustomStringFunction($functionName)->willReturn(null); |
|
109 | $configuration->getCustomNumericFunction($functionName)->willReturn(null); |
|
110 | $configuration->getCustomDatetimeFunction($functionName)->willReturn('ToDatetimeClass'); |
|
111 | ||
112 | $this->beConstructedWith($functionName, 'foo'); |
|
113 | ||
114 | $this->transform($qb, $dqlAlias)->shouldReturn($expression); |
|
115 | } |
|
116 | ||
117 | public function it_is_transformable_undefined_function( |
|
118 | QueryBuilder $qb, |