Completed
Branch master (4042af)
by Aleksandar
02:14
created

MenuUrlHelperTest   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 46
Duplicated Lines 52.17 %

Coupling/Cohesion

Components 1
Dependencies 5

Importance

Changes 1
Bugs 0 Features 0
Metric Value
dl 24
loc 46
rs 10
c 1
b 0
f 0
wmc 4
lcom 1
cbo 5

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
declare(strict_types=1);
4
5
namespace Menu\Test\View\Helper;
6
7
class MenuUrlHelperTest extends \PHPUnit_Framework_TestCase
8
{
9
    public function testInvokingUrlHelperWithHrefShouldReturnString()
10
    {
11
        $urlHelper = $this->getMockBuilder(\Zend\Expressive\Helper\UrlHelper::class)
12
            ->disableOriginalConstructor()
13
            ->getMockForAbstractClass();
14
        $menuHelper = new \Menu\View\Helper\MenuUrlHelper($urlHelper);
15
        static::assertSame('http://test.example.com', $menuHelper(['href' => 'http://test.example.com']));
16
    }
17
18
    public function testInvokingUrlHelperWithPageSlugShouldReturnString()
19
    {
20
        $urlHelper = $this->getMockBuilder(\Zend\Expressive\Helper\UrlHelper::class)
21
            ->setMethods(['__invoke'])
22
            ->disableOriginalConstructor()
23
            ->getMockForAbstractClass();
24
        $urlHelper->expects(static::once())
25
            ->method('__invoke')
26
            ->willReturn('test');
27
        $menuHelper = new \Menu\View\Helper\MenuUrlHelper($urlHelper);
28
        static::assertSame('test', $menuHelper(['page_slug' => 'test-slug', 'href' => false]));
29
    }
30
31
    public function testInvokingUrlHelperWithCategorySlugShouldReturnString()
32
    {
33
        $urlHelper = $this->getMockBuilder(\Zend\Expressive\Helper\UrlHelper::class)
34
            ->setMethods(['__invoke'])
35
            ->disableOriginalConstructor()
36
            ->getMockForAbstractClass();
37
        $urlHelper->expects(static::once())
38
            ->method('__invoke')
39
            ->willReturn('test');
40
        $menuHelper = new \Menu\View\Helper\MenuUrlHelper($urlHelper);
41
        static::assertSame('test', $menuHelper(['category_slug' => 'test-slug', 'href' => false, 'page_slug' => false]));
42
    }
43
44
    public function testInvokingUrlHelperWithAllParamsFalseShouldReturnString()
45
    {
46
        $urlHelper = $this->getMockBuilder(\Zend\Expressive\Helper\UrlHelper::class)
47
            ->disableOriginalConstructor()
48
            ->getMockForAbstractClass();
49
        $menuHelper = new \Menu\View\Helper\MenuUrlHelper($urlHelper);
50
        static::assertSame('#', $menuHelper(['category_slug' => false, 'href' => false, 'page_slug' => false]));
51
    }
52
}
53