Code Duplication    Length = 58-58 lines in 2 locations

src/Bundle/GridBundle/Tests/Renderer/RendererTest.php 2 locations

@@ 222-279 (lines=58) @@
219
    /**
220
     * @dataProvider renderProvider
221
     */
222
    public function testRenderColumn($gridTemplate = null, $rendererTemplate = null)
223
    {
224
        $template = 'column';
225
226
        if ($rendererTemplate !== null) {
227
            $this->renderer = new Renderer(
228
                $this->twig,
229
                $this->actionRenderer,
230
                $this->columnRenderer,
231
                $this->sorterRenderer,
232
                [$template => $rendererTemplate]
233
            );
234
        }
235
236
        $view = $this->createGridViewMock();
237
        $view
238
            ->expects($this->once())
239
            ->method('getDefinition')
240
            ->will($this->returnValue($grid = $this->createGridMock()));
241
242
        $grid
243
            ->expects($this->once())
244
            ->method('hasOption')
245
            ->with($this->identicalTo($option = $template.'_template'))
246
            ->will($this->returnValue($gridTemplate !== null));
247
248
        $grid
249
            ->expects($gridTemplate !== null ? $this->once() : $this->never())
250
            ->method('getOption')
251
            ->with($this->identicalTo($option))
252
            ->will($this->returnValue($gridTemplate));
253
254
        $this->columnRenderer
255
            ->expects($this->once())
256
            ->method('render')
257
            ->with(
258
                $this->identicalTo($view),
259
                $this->identicalTo($column = $this->createColumnMock()),
260
                $this->identicalTo($data = new \stdClass())
261
            )
262
            ->will($this->returnValue($value = 'value'));
263
264
        $this->twig
265
            ->expects($this->once())
266
            ->method('render')
267
            ->with(
268
                $this->identicalTo($gridTemplate ?: ($rendererTemplate ?: '@LugGrid/'.$template.'.html.twig')),
269
                $this->identicalTo([
270
                    'column' => $column,
271
                    'data'   => $data,
272
                    'value'  => $value,
273
                    'grid'   => $view,
274
                ])
275
            )
276
            ->will($this->returnValue($result = 'result'));
277
278
        $this->assertSame($result, $this->renderer->renderColumn($view, $column, $data));
279
    }
280
281
    /**
282
     * @dataProvider renderProvider
@@ 447-504 (lines=58) @@
444
    /**
445
     * @dataProvider renderProvider
446
     */
447
    public function testRenderColumnAction($gridTemplate = null, $rendererTemplate = null)
448
    {
449
        $template = 'column_action';
450
451
        if ($rendererTemplate !== null) {
452
            $this->renderer = new Renderer(
453
                $this->twig,
454
                $this->actionRenderer,
455
                $this->columnRenderer,
456
                $this->sorterRenderer,
457
                [$template => $rendererTemplate]
458
            );
459
        }
460
461
        $view = $this->createGridViewMock();
462
        $view
463
            ->expects($this->once())
464
            ->method('getDefinition')
465
            ->will($this->returnValue($grid = $this->createGridMock()));
466
467
        $grid
468
            ->expects($this->once())
469
            ->method('hasOption')
470
            ->with($this->identicalTo($option = $template.'_template'))
471
            ->will($this->returnValue($gridTemplate !== null));
472
473
        $grid
474
            ->expects($gridTemplate !== null ? $this->once() : $this->never())
475
            ->method('getOption')
476
            ->with($this->identicalTo($option))
477
            ->will($this->returnValue($gridTemplate));
478
479
        $this->actionRenderer
480
            ->expects($this->once())
481
            ->method('render')
482
            ->with(
483
                $this->identicalTo($view),
484
                $this->identicalTo($action = $this->createActionMock()),
485
                $this->identicalTo($data = new \stdClass())
486
            )
487
            ->will($this->returnValue($value = 'value'));
488
489
        $this->twig
490
            ->expects($this->once())
491
            ->method('render')
492
            ->with(
493
                $this->identicalTo($gridTemplate ?: ($rendererTemplate ?: '@LugGrid/'.$template.'.html.twig')),
494
                $this->identicalTo([
495
                    'action' => $action,
496
                    'data'   => $data,
497
                    'value'  => $value,
498
                    'grid'   => $view,
499
                ])
500
            )
501
            ->will($this->returnValue($result = 'result'));
502
503
        $this->assertSame($result, $this->renderer->renderColumnAction($view, $action, $data));
504
    }
505
506
    /**
507
     * @dataProvider renderProvider