Code Duplication    Length = 22-23 lines in 2 locations

test/TransformerAbstractTest.php 2 locations

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