Completed
Push — EZP-26057-permission-api ( b3fc4f )
by
unknown
25:48
created

BaseTest::getPermissionServiceMock()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 28
Code Lines 23

Duplication

Lines 28
Ratio 100 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 23
nc 1
nop 1
dl 28
loc 28
rs 8.8571
c 1
b 0
f 0
1
<?php
2
3
/**
4
 * File containing the BaseTest class.
5
 *
6
 * @copyright Copyright (C) eZ Systems AS. All rights reserved.
7
 * @license For full copyright and license information view LICENSE file distributed with this source code.
8
 *
9
 * @version //autogentag//
10
 */
11
namespace eZ\Publish\Core\MVC\Symfony\Matcher\Tests\ContentBased;
12
13
use PHPUnit_Framework_TestCase;
14
15
abstract class BaseTest extends PHPUnit_Framework_TestCase
16
{
17
    /**
18
     * @var \PHPUnit_Framework_MockObject_MockObject
19
     */
20
    protected $repositoryMock;
21
22
    protected function setUp()
23
    {
24
        parent::setUp();
25
        $this->repositoryMock = $this->getRepositoryMock();
26
    }
27
28
    /**
29
     * @param array $matchingConfig
30
     *
31
     * @return \PHPUnit_Framework_MockObject_MockObject
32
     */
33
    protected function getPartiallyMockedViewProvider(array $matchingConfig = array())
34
    {
35
        return $this
36
            ->getMockBuilder('eZ\\Publish\\Core\\MVC\\Symfony\\View\\Provider\\Location\\Configured')
37
            ->setConstructorArgs(
38
                array(
39
                    $this->repositoryMock,
40
                    $matchingConfig,
41
                )
42
            )
43
            ->setMethods(array('getMatcher'))
44
            ->getMock();
45
    }
46
47
    /**
48
     * @return \PHPUnit_Framework_MockObject_MockObject
49
     */
50
    protected function getRepositoryMock()
51
    {
52
        $repositoryClass = 'eZ\\Publish\\Core\\Repository\\Repository';
53
54
        return $this
55
            ->getMockBuilder($repositoryClass)
56
            ->disableOriginalConstructor()
57
            ->setMethods(
58
                array_diff(
59
                    get_class_methods($repositoryClass),
60
                    array('sudo')
61
                )
62
            )
63
            ->getMock();
64
    }
65
66
    /**
67
     * @param array $properties
68
     *
69
     * @return \PHPUnit_Framework_MockObject_MockObject
70
     */
71
    protected function getLocationMock(array $properties = array())
72
    {
73
        return $this
74
            ->getMockBuilder('eZ\\Publish\\API\\Repository\\Values\\Content\\Location')
75
            ->setConstructorArgs(array($properties))
76
            ->getMockForAbstractClass();
77
    }
78
79
    /**
80
     * @param array $properties
81
     *
82
     * @return \PHPUnit_Framework_MockObject_MockObject
83
     */
84
    protected function getContentInfoMock(array $properties = array())
85
    {
86
        return $this->
87
            getMockBuilder('eZ\\Publish\\API\\Repository\\Values\\Content\\ContentInfo')
88
            ->setConstructorArgs(array($properties))
89
            ->getMockForAbstractClass();
90
    }
91
92 View Code Duplication
    protected function getPermissionServiceMock($repository)
93
    {
94
        return $this
95
            ->getMockBuilder('\eZ\Publish\Core\Repository\PermissionService')
96
            ->setMethods(null)
97
            ->setConstructorArgs(
98
                [
99
                    $repository,
100
                    $this
101
                        ->getMockBuilder('eZ\Publish\API\Repository\UserService')
102
                        ->getMock(),
103
                    $this
104
                        ->getMockBuilder('eZ\Publish\Core\Repository\Helper\RoleDomainMapper')
105
                        ->disableOriginalConstructor()
106
                        ->getMock(),
107
                    $this
108
                        ->getMockBuilder('eZ\Publish\Core\Repository\Helper\LimitationService')
109
                        ->getMock(),
110
                    $this
111
                        ->getMockBuilder('eZ\Publish\SPI\Persistence\User\Handler')
112
                        ->getMock(),
113
                    $this
114
                        ->getMockBuilder('eZ\Publish\API\Repository\Values\User\UserReference')
115
                        ->getMock(),
116
                ]
117
            )
118
            ->getMock();
119
    }
120
}
121