Completed
Push — master ( e6c9d7...cc6bd7 )
by Grégoire
12:23
created

tests/Route/PathInfoBuilderTest.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\AdminBundle\Tests\Route;
15
16
use PHPUnit\Framework\TestCase;
17
use Sonata\AdminBundle\Admin\AdminInterface;
18
use Sonata\AdminBundle\Model\AuditManagerInterface;
19
use Sonata\AdminBundle\Route\PathInfoBuilder;
20
use Sonata\AdminBundle\Route\RouteCollection;
21
22
class PathInfoBuilderTest extends TestCase
23
{
24
    public function testBuild(): void
25
    {
26
        $audit = $this->getMockForAbstractClass(AuditManagerInterface::class);
27
        $audit->expects($this->once())->method('hasReader')->willReturn(true);
28
29
        $admin = $this->getMockForAbstractClass(AdminInterface::class);
30
        $admin->expects($this->once())->method('getChildren')->willReturn([]);
31
        $admin->expects($this->once())->method('isAclEnabled')->willReturn(true);
32
33
        $routeCollection = new RouteCollection('base.Code.Route', 'baseRouteName', 'baseRoutePattern', 'baseControllerName');
34
35
        $pathBuilder = new PathInfoBuilder($audit);
0 ignored issues
show
$audit is of type object<PHPUnit\Framework\MockObject\MockObject>, but the function expects a object<Sonata\AdminBundl...\AuditManagerInterface>.

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...
36
37
        $pathBuilder->build($admin, $routeCollection);
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...
38
39
        $this->assertCount(11, $routeCollection->getElements());
40
    }
41
}
42