Passed
Push — master ( 9fa2bb...0992fe )
by Michael
01:53
created

WebTestCase::getMongo()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 3
rs 10
c 0
b 0
f 0
cc 1
eloc 1
nc 1
nop 0
1
<?php
2
/* Copyright (C) 2018 Michael Giesler
3
 *
4
 * This file is part of Dembelo.
5
 *
6
 * Dembelo is free software: you can redistribute it and/or modify
7
 * it under the terms of the GNU Affero General Public License as published by
8
 * the Free Software Foundation, either version 3 of the License, or
9
 * (at your option) any later version.
10
 *
11
 * Dembelo is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
 * GNU Affero General Public License 3 for more details.
15
 *
16
 * You should have received a copy of the GNU Affero General Public License 3
17
 * along with Dembelo. If not, see <http://www.gnu.org/licenses/>.
18
 */
19
20
namespace DembeloMain\IntegrationTests;
21
22
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase as SymfonyWebTestCase;
23
use Doctrine\ODM\MongoDB\DocumentManager;
24
use DembeloMain\Document\Importfile;
25
use DembeloMain\Document\Licensee;
26
use DembeloMain\Document\Readpath;
27
use DembeloMain\Document\Textnode;
28
use DembeloMain\Document\TextnodeHitch;
29
use DembeloMain\Document\Topic;
30
use DembeloMain\Document\User;
31
32
/**
33
 * Class WebTestCase
34
 */
35
class WebTestCase extends SymfonyWebTestCase
36
{
37
    /**
38
     * @var DocumentManager
39
     */
40
    private static $em;
41
42
    /**
43
     * @return void
44
     */
45
    public function setUp(): void
46
    {
47
        parent::setUp();
48
49
        self::bootKernel();
50
51
        self::$em = self::$kernel->getContainer()
52
            ->get('doctrine_mongodb')
53
            ->getManager();
54
    }
55
56
    /**
57
     * @return void
58
     *
59
     * @throws \Doctrine\ODM\MongoDB\MongoDBException
60
     */
61
    public function tearDown(): void
62
    {
63
        parent::tearDown();
64
65
        self::$em->createQueryBuilder(Importfile::class)->remove()->getQuery()->execute();
66
        self::$em->createQueryBuilder(Licensee::class)->remove()->getQuery()->execute();
67
        self::$em->createQueryBuilder(Readpath::class)->remove()->getQuery()->execute();
68
        self::$em->createQueryBuilder(Textnode::class)->remove()->getQuery()->execute();
69
        self::$em->createQueryBuilder(TextnodeHitch::class)->remove()->getQuery()->execute();
70
        self::$em->createQueryBuilder(Topic::class)->remove()->getQuery()->execute();
71
        self::$em->createQueryBuilder(User::class)->remove()->getQuery()->execute();
72
    }
73
74
    /**
75
     * @return DocumentManager
76
     */
77
    protected function getMongo(): DocumentManager
78
    {
79
        return self::$em;
80
    }
81
}
82