GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Passed
Pull Request — master (#52)
by Simone
03:32
created

FooTest::testFooooo()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 19
Code Lines 13

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 13
nc 1
nop 0
dl 0
loc 19
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
use Mado\QueryBundle\Action\CreateQuery;
4
use Mado\QueryBundle\Interfaces\EntityClass;
5
use Mado\QueryBundle\Queries\QueryBuilderFactory;
6
use Mado\QueryBundle\Queries\QueryBuilderOptions;
7
use Mado\QueryBundle\Repositories\BaseRepository;
8
use PHPUnit\Framework\Testcase;
9
10
final class FooTest extends Testcase
11
{
12
    public function setUp()
13
    {
14
        $this->manager = \Mado\QueryBundle\Common\Doctrine\EntityManager::getInstance();
0 ignored issues
show
Bug Best Practice introduced by
The property manager does not exist. Although not strictly required by PHP, it is generally a best practice to declare properties explicitly.
Loading history...
15
    }
16
17
    public function testFilter()
18
    {
19
        $dql = new CreateQuery(
20
            $this->manager,
21
            QueryBuilderOptions::fromArray([
22
                'select' => 'f',
23
                'filters' => [
24
                    'name|contains|1' => 'foo',
25
                    'name|contains|2' => 'bar',
26
                ]
27
            ]),
28
            new Foo()
29
        );
30
31
        $this->assertEquals(
32
            "SELECT f0_.id AS id_0, f0_.name AS name_1 FROM Foo f0_ WHERE f0_.name LIKE ? AND f0_.name LIKE ?",
33
            $dql->getSql()
34
        );
35
    }
36
37
    public function testSelectAllResults()
38
    {
39
        $dql = new CreateQuery(
40
            $this->manager,
41
            QueryBuilderOptions::fromArray([
42
                'select' => 'f',
43
            ]),
44
            new Foo()
45
        );
46
47
        $this->assertEquals(
48
            "SELECT f FROM Foo f",
49
            $dql->getDql()
50
        );
51
    }
52
53
    public function testFooooo()
54
    {
55
        $expected = "SELECT f0_.id AS id_0, f0_.name AS name_1 FROM Foo f0_";
56
57
        $generatedSql = (new BaseRepository(
58
            $this->manager,
59
            $this->manager->getClassMetadata(Foo::class)
60
        ))
61
        ->setQueryOptions(QueryBuilderOptions::fromArray([
62
            'select' => 'f',
63
        ]))
64
        ->getQueryBuilderFactory()
65
        ->getQueryBuilder()
66
        ->getQuery()
67
        ->getSql();
68
69
        $this->assertEquals(
70
            $expected,
71
            $generatedSql
72
        );
73
    }
74
75
    public function testFiltering()
76
    {
77
        $expected = "SELECT f0_.id AS id_0, f0_.name AS name_1 " .
78
            "FROM Foo f0_ " .
79
            "WHERE f0_.name LIKE ? " .
80
            "AND f0_.name LIKE ?";
81
82
        $generatedSql = (new BaseRepository( $this->manager,
83
            $this->manager->getClassMetadata(Foo::class)
84
        ))
85
        ->setQueryOptions(QueryBuilderOptions::fromArray([
86
            'select' => 'f',
87
            'filters' => [
88
                'name|contains|1' => 'foo',
89
                'name|contains|2' => 'bar',
90
            ]
91
        ]))
92
        ->getQueryBuilderFactory()
93
        ->filter()
94
        ->sort()
95
        ->getQueryBuilder()
96
        ->getQuery()
97
        ->getSql();
98
99
        $this->assertEquals(
100
            $expected,
101
            $generatedSql
102
        );
103
    }
104
}
105
106
/** @Entity() */
107
class Foo implements EntityClass
108
{
109
    /** @Id @Column(type="integer") */
110
    private $id;
0 ignored issues
show
Unused Code introduced by
The property $id is not used and could be removed.

This check marks private properties in classes that are never used. Those properties can be removed.

Loading history...
111
112
    /** @Column(type="string") */
113
    private $name;
0 ignored issues
show
Unused Code introduced by
The property $name is not used and could be removed.

This check marks private properties in classes that are never used. Those properties can be removed.

Loading history...
114
115
    public function getFQNC()
116
    {
117
        return self::class;
118
    }
119
}
120