Completed
Push — master ( 6b2632...1706e7 )
by
unknown
07:57 queued 10s
created

tests/Unit/Route/PathInfoBuilderSlashesTest.php (2 issues)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
3
declare(strict_types=1);
4
5
/*
6
 * This file is part of the Sonata Project package.
7
 *
8
 * (c) Thomas Rabaix <[email protected]>
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 Sonata\DoctrinePHPCRAdminBundle\Tests\Unit\Route;
15
16
use PHPUnit\Framework\TestCase;
17
use Sonata\AdminBundle\Admin\AbstractAdmin;
18
use Sonata\AdminBundle\Route\RouteCollection;
19
use Sonata\DoctrinePHPCRAdminBundle\Route\PathInfoBuilderSlashes;
20
21
class PathInfoBuilderSlashesTest extends TestCase
22
{
23
    public function testBuild(): void
24
    {
25
        $collectionChild = $this->createMock(RouteCollection::class);
26
27
        $adminChild = $this->createMock(AbstractAdmin::class);
28
        $adminChild->expects($this->once())
29
            ->method('getRoutes')
30
            ->willReturn($collectionChild);
31
32
        $admin = $this->createMock(AbstractAdmin::class);
33
        $admin->expects($this->once())
34
            ->method('getChildren')
35
            ->willReturn([$adminChild]);
36
37
        $collection = $this->createMock(RouteCollection::class);
38
        $collection->expects($this->once())
39
            ->method('addCollection')
40
            ->with($this->anything());
41
        $collection->expects($this->exactly(7))
42
            ->method('add')
43
            ->with($this->anything());
44
45
        $builder = new PathInfoBuilderSlashes();
46
        $builder->build($admin, $collection);
0 ignored issues
show
$admin is of type object<PHPUnit\Framework\MockObject\MockObject>, but the function expects a object<Sonata\AdminBundle\Admin\AdminInterface>.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
$collection is of type object<PHPUnit\Framework\MockObject\MockObject>, but the function expects a object<Sonata\AdminBundle\Route\RouteCollection>.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
47
    }
48
49
    public function testBuildWithAcl(): void
50
    {
51
        $admin = $this->createMock(AbstractAdmin::class);
52
        $admin->expects($this->once())
53
            ->method('getChildren')
54
            ->willReturn([]);
55
        $admin->expects($this->once())
56
            ->method('isAclEnabled')
57
            ->willReturn(true);
58
59
        $collection = $this->createMock(RouteCollection::class);
60
        $collection->expects($this->exactly(8))
61
            ->method('add')
62
            ->with($this->anything());
63
64
        $builder = new PathInfoBuilderSlashes();
65
        $builder->build($admin, $collection);
66
    }
67
}
68