Completed
Push — develop ( a9d829...037456 )
by Jens
04:55 queued 43s
created

CmsHelperTest   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 42
Duplicated Lines 64.29 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

Changes 1
Bugs 0 Features 1
Metric Value
wmc 4
c 1
b 0
f 1
lcom 1
cbo 3
dl 27
loc 42
rs 10

How to fix   Duplicated Code   

Duplicated Code

Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.

Common duplication problems, and corresponding solutions are:

1
<?php
2
/**
3
 * @author @jayS-de <[email protected]>
4
 */
5
6
7
namespace JaySDe\HandlebarsBundle\Tests\Helper;
8
9
10
use JaySDe\HandlebarsBundle\Helper\CmsHelper;
11
12
class CmsHelperTest extends \PHPUnit_Framework_TestCase
13
{
14
    public function testHandle()
15
    {
16
        $observer = $this->prophesize('\JaySDe\HandlebarsBundle\Helper\TranslationHelper');
17
        $observer->handle('test', [])->willReturn('lorem ipsum')->shouldBeCalled();
18
        $helper = new CmsHelper($observer->reveal());
19
20
        $test = $helper->handle('test', []);
21
        $this->assertSame('lorem ipsum', $test);
22
    }
23
24
    public function testHandleWithOptions()
25
    {
26
        $observer = $this->prophesize('\JaySDe\HandlebarsBundle\Helper\TranslationHelper');
27
        $observer->handle('test', ['foo' => 'bar'])->willReturn('lorem ipsum')->shouldBeCalled();
28
        $helper = new CmsHelper($observer->reveal());
29
30
        $test = $helper->handle('test', ['hash' => ['foo' => 'bar']]);
31
        $this->assertSame('lorem ipsum', $test);
32
    }
33
34
    public function testHandleWithBundle()
35
    {
36
        $observer = $this->prophesize('\JaySDe\HandlebarsBundle\Helper\TranslationHelper');
37
        $observer->handle('foo:test', [])->willReturn('lorem ipsum')->shouldBeCalled();
38
        $helper = new CmsHelper($observer->reveal());
39
40
        $test = $helper->handle('test', ['hash' => ['bundle' => 'foo']]);
41
        $this->assertSame('lorem ipsum', $test);
42
    }
43
44
    public function testHandleWithOptionsAndBundle()
45
    {
46
        $observer = $this->prophesize('\JaySDe\HandlebarsBundle\Helper\TranslationHelper');
47
        $observer->handle('foo:test', ['foo' => 'bar'])->willReturn('lorem ipsum')->shouldBeCalled();
48
        $helper = new CmsHelper($observer->reveal());
49
50
        $test = $helper->handle('test', ['hash' => ['foo' => 'bar', 'bundle' => 'foo']]);
51
        $this->assertSame('lorem ipsum', $test);
52
    }
53
}
54