Test Setup Failed
Push — master ( 195648...185a1e )
by Craig
58s queued 15s
created

FooExtensionMenu::getUser()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 1
eloc 4
c 1
b 0
f 1
nc 1
nop 0
dl 0
loc 8
rs 10
1
<?php
2
3
declare(strict_types=1);
4
5
/*
6
 * This file is part of the Zikula package.
7
 *
8
 * Copyright Zikula Foundation - https://ziku.la/
9
 *
10
 * For the full copyright and license information, please view the LICENSE
11
 * file that was distributed with this source code.
12
 */
13
14
namespace Zikula\MenuModule\Tests\ExtensionMenu\Fixtures;
15
16
use Knp\Menu\FactoryInterface;
17
use Knp\Menu\ItemInterface;
18
use Zikula\MenuModule\ExtensionMenu\ExtensionMenuInterface;
19
20
class FooExtensionMenu implements ExtensionMenuInterface
21
{
22
    /**
23
     * @var FactoryInterface
24
     */
25
    private $factory;
26
27
    public function __construct(
28
        FactoryInterface $factory
29
    ) {
30
        $this->factory = $factory;
31
    }
32
33
    public function get(string $type = self::TYPE_ADMIN): ?ItemInterface
34
    {
35
        if (self::TYPE_ADMIN === $type) {
36
            return $this->getAdmin();
37
        }
38
        if (self::TYPE_USER === $type) {
39
            return $this->getUser();
40
        }
41
42
        return null;
43
    }
44
45
    private function getAdmin(): ?ItemInterface
46
    {
47
        $menu = $this->factory->createItem('foo');
48
        $menu->addChild('list', [
49
            'route' => 'list',
50
        ]);
51
        $menu->addChild('foo', [
52
            'route' => 'foo',
53
        ]);
54
        $menu->addChild('bar', [
55
            'route' => 'bar',
56
        ]);
57
58
        return $menu;
59
    }
60
61
    private function getUser(): ?ItemInterface
62
    {
63
        $menu = $this->factory->createItem('foo');
64
        $menu->addChild('user list', [
65
            'route' => 'user_list',
66
        ]);
67
68
        return $menu;
69
    }
70
71
    public function getBundleName(): string
72
    {
73
        return 'ZikulaFooExtension';
74
    }
75
}
76