@@ 106-144 (lines=39) @@ | ||
103 | /** |
|
104 | * @dataProvider provideDataForHydrationMode |
|
105 | */ |
|
106 | public function testShouldSupportsBasicUsage($hydrationMode) |
|
107 | { |
|
108 | $dql = " |
|
109 | SELECT |
|
110 | new Doctrine\Tests\Models\CMS\CmsUserDTO( |
|
111 | u.name, |
|
112 | e.email, |
|
113 | a.city |
|
114 | ) |
|
115 | FROM |
|
116 | Doctrine\Tests\Models\CMS\CmsUser u |
|
117 | JOIN |
|
118 | u.email e |
|
119 | JOIN |
|
120 | u.address a |
|
121 | ORDER BY |
|
122 | u.name"; |
|
123 | ||
124 | $query = $this->em->createQuery($dql); |
|
125 | $result = $query->getResult($hydrationMode); |
|
126 | ||
127 | self::assertCount(3, $result); |
|
128 | ||
129 | self::assertInstanceOf(CmsUserDTO::class, $result[0]); |
|
130 | self::assertInstanceOf(CmsUserDTO::class, $result[1]); |
|
131 | self::assertInstanceOf(CmsUserDTO::class, $result[2]); |
|
132 | ||
133 | self::assertEquals($this->fixtures[0]->name, $result[0]->name); |
|
134 | self::assertEquals($this->fixtures[1]->name, $result[1]->name); |
|
135 | self::assertEquals($this->fixtures[2]->name, $result[2]->name); |
|
136 | ||
137 | self::assertEquals($this->fixtures[0]->email->email, $result[0]->email); |
|
138 | self::assertEquals($this->fixtures[1]->email->email, $result[1]->email); |
|
139 | self::assertEquals($this->fixtures[2]->email->email, $result[2]->email); |
|
140 | ||
141 | self::assertEquals($this->fixtures[0]->address->city, $result[0]->address); |
|
142 | self::assertEquals($this->fixtures[1]->address->city, $result[1]->address); |
|
143 | self::assertEquals($this->fixtures[2]->address->city, $result[2]->address); |
|
144 | } |
|
145 | ||
146 | /** |
|
147 | * @dataProvider provideDataForHydrationMode |
|
@@ 149-187 (lines=39) @@ | ||
146 | /** |
|
147 | * @dataProvider provideDataForHydrationMode |
|
148 | */ |
|
149 | public function testShouldIgnoreAliasesForSingleObject($hydrationMode) |
|
150 | { |
|
151 | $dql = " |
|
152 | SELECT |
|
153 | new Doctrine\Tests\Models\CMS\CmsUserDTO( |
|
154 | u.name, |
|
155 | e.email, |
|
156 | a.city |
|
157 | ) as cmsUser |
|
158 | FROM |
|
159 | Doctrine\Tests\Models\CMS\CmsUser u |
|
160 | JOIN |
|
161 | u.email e |
|
162 | JOIN |
|
163 | u.address a |
|
164 | ORDER BY |
|
165 | u.name"; |
|
166 | ||
167 | $query = $this->em->createQuery($dql); |
|
168 | $result = $query->getResult($hydrationMode); |
|
169 | ||
170 | self::assertCount(3, $result); |
|
171 | ||
172 | self::assertInstanceOf(CmsUserDTO::class, $result[0]); |
|
173 | self::assertInstanceOf(CmsUserDTO::class, $result[1]); |
|
174 | self::assertInstanceOf(CmsUserDTO::class, $result[2]); |
|
175 | ||
176 | self::assertEquals($this->fixtures[0]->name, $result[0]->name); |
|
177 | self::assertEquals($this->fixtures[1]->name, $result[1]->name); |
|
178 | self::assertEquals($this->fixtures[2]->name, $result[2]->name); |
|
179 | ||
180 | self::assertEquals($this->fixtures[0]->email->email, $result[0]->email); |
|
181 | self::assertEquals($this->fixtures[1]->email->email, $result[1]->email); |
|
182 | self::assertEquals($this->fixtures[2]->email->email, $result[2]->email); |
|
183 | ||
184 | self::assertEquals($this->fixtures[0]->address->city, $result[0]->address); |
|
185 | self::assertEquals($this->fixtures[1]->address->city, $result[1]->address); |
|
186 | self::assertEquals($this->fixtures[2]->address->city, $result[2]->address); |
|
187 | } |
|
188 | ||
189 | public function testShouldAssumeFromEntityNamespaceWhenNotGiven() |
|
190 | { |