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

TestWithEntityManager   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 12
c 0
b 0
f 0
dl 0
loc 28
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A setUp() 0 12 1
A tearDown() 0 4 1
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