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

QueryBuilderFactoryTest::setUp()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 6
nc 1
nop 0
dl 0
loc 9
rs 9.6666
c 0
b 0
f 0
1
<?php
2
3
namespace Mado\QueryBundle\Tests\Objects;
4
5
use Mado\QueryBundle\Queries\QueryBuilderFactory;
6
use Mado\QueryBundle\Vocabulary\Operators;
7
use PHPUnit\Framework\TestCase;
8
9
class QueryBuilderFactoryTest extends TestCase
10
{
11
    public function setUp()
12
    {
13
        $this->manager = \Doctrine\ORM\EntityManager::create(array(
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...
14
            'driver' => 'pdo_sqlite',
15
            'path' => __DIR__ . '/data/db.sqlite',
16
        ),
17
        \Doctrine\ORM\Tools\Setup::createAnnotationMetadataConfiguration(
18
            array(__DIR__."/src"),
19
            true
20
        ));
21
    }
22
23
    public function testCanFilterThanksToOperators()
24
    {
25
        $this->manager = $this
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...
26
            ->getMockBuilder('Doctrine\ORM\EntityManager')
27
            ->disableOriginalConstructor()
28
            ->getMock();
29
30
        $queryBuilderFactory = new QueryBuilderFactory($this->manager);
31
32
        $this->assertEquals(
33
            array_keys(Operators::getAll()),
34
            $queryBuilderFactory->getAvailableFilters()
35
        );
36
    }
37
38
    /**
39
     * @expectedException \RuntimeException
40
     */
41
    public function testThrowExceptionWheneverUsedWithoutFields()
42
    {
43
        $this->manager = $this
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...
44
            ->getMockBuilder('Doctrine\ORM\EntityManager')
45
            ->disableOriginalConstructor()
46
            ->getMock();
47
48
        $queryBuilderFactory = new QueryBuilderFactory($this->manager);
49
        $queryBuilderFactory->ensureFieldsDefinedPublic();
50
    }
51
52
    public function testBuildQueryHandly()
53
    {
54
        $queryBuilderFactory = new QueryBuilderFactory($this->manager);
55
        $queryBuilderFactory->setFields([ 'id' ]);
56
        $queryBuilderFactory->setFilters([ 'id|eq' => 33 ]);
57
        $queryBuilderFactory->createQueryBuilder(MySimpleEntity::class, 'e');
58
        $queryBuilderFactory->filter();
59
60
        $this->assertEquals(
61
            "SELECT m0_.id AS id_0 FROM MySimpleEntity m0_ WHERE m0_.id = ?",
62
            $queryBuilderFactory->getQueryBuilder()->getQuery()->getSql()
63
        );
64
65
        $this->assertEquals(
66
            "SELECT e FROM Mado\QueryBundle\Tests\Objects\MySimpleEntity e WHERE e.id = :field_id",
67
            $queryBuilderFactory->getQueryBuilder()->getQuery()->getDql()
68
        );
69
    }
70
71
    public function testOneToMany()
72
    {
73
        $queryBuilderFactory = new QueryBuilderFactory($this->manager);
74
        $queryBuilderFactory->setFields([ 'id' ]);
75
        $queryBuilderFactory->setRel([ 'group' ]);
76
        $queryBuilderFactory->setFilters([
77
            '_embedded.group.name|contains|1' => 'ad',
78
            '_embedded.group.name|contains|2' => 'ns',
79
            '_embedded.group.name|contains|3' => 'dm',
80
            '_embedded.group.name|contains|4' => 'mi',
81
        ]);
82
        $queryBuilderFactory->createQueryBuilder(User::class, 'e');
83
        $queryBuilderFactory->filter();
84
85
        $this->assertEquals(
86
            "SELECT" .
87
            " u0_.id AS id_0," .
88
            " u0_.username AS username_1," .
89
            " u0_.group_id AS group_id_2 " .
90
            "FROM User u0_ " .
91
            "INNER JOIN Group g1_ ON u0_.group_id = g1_.id " .
92
            "WHERE g1_.name LIKE ? " .
93
            "AND g1_.name LIKE ? " .
94
            "AND g1_.name LIKE ? " .
95
            "AND g1_.name LIKE ?",
96
            $queryBuilderFactory->getQueryBuilder()->getQuery()->getSql()
97
        );
98
    }
99
}
100
101
/** @Entity() */
102
class MySimpleEntity
103
{
104
    /** @Id @Column(type="integer") */
105
    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...
106
}
107
108
/** @Entity() */
109
class User
110
{
111
    /** @Id @Column(type="integer") */
112
    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...
113
114
    /** @Column(type="string") */
115
    private $username;
0 ignored issues
show
Unused Code introduced by
The property $username 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...
116
117
    /** @ManyToOne(targetEntity="Group", inversedBy="member") */
118
    private $group;
0 ignored issues
show
Unused Code introduced by
The property $group 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...
119
}
120
121
/** @Entity() */
122
class Group
123
{
124
    /** @Id @Column(type="integer") */
125
    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...
126
127
    /** @Column(type="string") */
128
    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...
129
130
    /** @OneToMany(targetEntity="User", mappedBy="member") */
131
    private $members;
0 ignored issues
show
Unused Code introduced by
The property $members 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...
132
}
133