@@ 158-180 (lines=23) @@ | ||
155 | * @covers League\Fractal\TransformerAbstract::processIncludedResources |
|
156 | * @covers League\Fractal\TransformerAbstract::figureOutWhichIncludes |
|
157 | */ |
|
158 | public function testProcessExcludedAvailableResources() |
|
159 | { |
|
160 | $manager = new Manager(); |
|
161 | $transformer = m::mock('League\Fractal\TransformerAbstract[transform]'); |
|
162 | $scope = new Scope($manager, new Item([], $transformer)); |
|
163 | ||
164 | $transformer->shouldReceive('includeBook')->never(); |
|
165 | ||
166 | $transformer->shouldReceive('includePublisher')->once()->andReturnUsing(function ($data) { |
|
167 | return new Item(['another' => 'thing'], function ($data) { |
|
168 | return $data; |
|
169 | }); |
|
170 | }); |
|
171 | ||
172 | // available includes that have been requested are excluded |
|
173 | $manager->parseIncludes('book,publisher'); |
|
174 | $manager->parseExcludes('book'); |
|
175 | ||
176 | $transformer->setAvailableIncludes(['book', 'publisher']); |
|
177 | ||
178 | $included = $transformer->processIncludedResources($scope, ['meh']); |
|
179 | $this->assertSame(['publisher' => ['data' => ['another' => 'thing']]], $included); |
|
180 | } |
|
181 | ||
182 | /** |
|
183 | * @covers League\Fractal\TransformerAbstract::processIncludedResources |
|
@@ 186-207 (lines=22) @@ | ||
183 | * @covers League\Fractal\TransformerAbstract::processIncludedResources |
|
184 | * @covers League\Fractal\TransformerAbstract::figureOutWhichIncludes |
|
185 | */ |
|
186 | public function testProcessExcludedDefaultResources() |
|
187 | { |
|
188 | $manager = new Manager(); |
|
189 | $transformer = m::mock('League\Fractal\TransformerAbstract[transform]'); |
|
190 | $scope = new Scope($manager, new Item([], $transformer)); |
|
191 | ||
192 | $transformer->shouldReceive('includeBook')->never(); |
|
193 | ||
194 | $transformer->shouldReceive('includePublisher')->once()->andReturnUsing(function ($data) { |
|
195 | return new Item(['another' => 'thing'], function ($data) { |
|
196 | return $data; |
|
197 | }); |
|
198 | }); |
|
199 | ||
200 | $manager->parseIncludes('book,publisher'); |
|
201 | $manager->parseExcludes('book'); |
|
202 | ||
203 | $transformer->setDefaultIncludes(['book', 'publisher']); |
|
204 | ||
205 | $included = $transformer->processIncludedResources($scope, ['meh']); |
|
206 | $this->assertSame(['publisher' => ['data' => ['another' => 'thing']]], $included); |
|
207 | } |
|
208 | ||
209 | /** |
|
210 | * @covers League\Fractal\TransformerAbstract::processIncludedResources |