Failed Conditions
Push — master ( 5e6761...398dce )
by Adrien
04:14 queued 01:57
created

TestWithEntityManager::setUp()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 12
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 8
c 0
b 0
f 0
nc 1
nop 0
dl 0
loc 12
cc 1
rs 10
1
<?php
2
3
declare(strict_types=1);
4
5
namespace EcodevTests\Felix\Traits;
6
7
use Doctrine\ORM\EntityManager;
8
use Doctrine\ORM\Tools\Setup;
9
use Laminas\ServiceManager\ServiceManager;
10
11
/**
12
 * Trait to easily set up a dummy entity manager
13
 */
14
trait TestWithEntityManager
15
{
16
    /**
17
     * @var EntityManager
18
     */
19
    private $entityManager;
20
21
    public function setUp(): void
22
    {
23
        // Create the entity manager
24
        $config = Setup::createAnnotationMetadataConfiguration([__DIR__ . '/Blog/Model'], true, null, null, false);
25
        $conn = ['url' => 'sqlite:///:memory:'];
26
        $this->entityManager = EntityManager::create($conn, $config);
27
28
        global $container;
29
        $container = new ServiceManager([
30
            'factories' => [
31
                EntityManager::class => function () {
32
                    return $this->entityManager;
33
                },
34
            ],
35
        ]);
36
    }
37
38
    public function tearDown(): void
39
    {
40
        global $container;
41
        $container = null;
42
    }
43
}
44