ReopeningEntityManagerDelegatorTest   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 15
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 1
eloc 8
dl 0
loc 15
rs 10
c 1
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A decoratesEntityManagerFromCallback() 0 10 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace ShlinkioTest\Shlink\Common\Doctrine;
6
7
use Doctrine\ORM\EntityManagerInterface;
8
use Laminas\ServiceManager\ServiceManager;
9
use PHPUnit\Framework\TestCase;
10
use Prophecy\PhpUnit\ProphecyTrait;
11
use ReflectionObject;
12
use Shlinkio\Shlink\Common\Doctrine\ReopeningEntityManagerDelegator;
13
14
class ReopeningEntityManagerDelegatorTest extends TestCase
15
{
16
    use ProphecyTrait;
17
18
    /** @test */
19
    public function decoratesEntityManagerFromCallback(): void
20
    {
21
        $em = $this->prophesize(EntityManagerInterface::class)->reveal();
22
        $result = (new ReopeningEntityManagerDelegator())(new ServiceManager(), '', fn () => $em);
23
24
        $ref = new ReflectionObject($result);
25
        $prop = $ref->getProperty('wrapped');
26
        $prop->setAccessible(true);
27
28
        $this->assertSame($em, $prop->getValue($result));
29
    }
30
}
31