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