Failed Conditions
Pull Request — master (#7885)
by Šimon
06:26
created

QueryIterableTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 54
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 31
c 1
b 0
f 0
dl 0
loc 54
rs 10
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A setUp() 0 4 1
A testAliasInnerJoin() 0 26 1
A testAlias() 0 18 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Doctrine\Tests\ORM\Functional;
6
7
use Doctrine\Tests\GetIterableTester;
8
use Doctrine\Tests\Models\CMS\CmsAddress;
9
use Doctrine\Tests\Models\CMS\CmsUser;
10
use Doctrine\Tests\OrmFunctionalTestCase;
11
12
final class QueryIterableTest extends OrmFunctionalTestCase
13
{
14
    protected function setUp() : void
15
    {
16
        $this->useModelSet('cms');
17
        parent::setUp();
18
    }
19
20
    public function testAlias() : void
21
    {
22
        $user           = new CmsUser();
23
        $user->name     = 'Guilherme';
24
        $user->username = 'gblanco';
25
        $user->status   = 'developer';
26
27
        $this->em->persist($user);
28
        $this->em->flush();
29
30
        $query = $this->em->createQuery('SELECT u AS user FROM Doctrine\Tests\Models\CMS\CmsUser u');
31
32
        $users = $query->getResult();
33
        self::assertCount(1, $users);
34
35
        $this->em->clear();
36
37
        GetIterableTester::assertResultsAreTheSame($query);
38
    }
39
40
    public function testAliasInnerJoin() : void
41
    {
42
        $user           = new CmsUser();
43
        $user->name     = 'Guilherme';
44
        $user->username = 'gblanco';
45
        $user->status   = 'developer';
46
47
        $address          = new CmsAddress();
48
        $address->country = 'Germany';
49
        $address->city    = 'Berlin';
50
        $address->zip     = '12345';
51
52
        $address->user = $user;
53
        $user->address = $address;
54
55
        $this->em->persist($user);
56
        $this->em->flush();
57
58
        $query = $this->em->createQuery('SELECT u AS user, a AS address FROM Doctrine\Tests\Models\CMS\CmsUser u JOIN u.address a');
59
60
        $users = $query->getResult();
61
        self::assertCount(1, $users);
62
63
        $this->em->clear();
64
65
        GetIterableTester::assertResultsAreTheSame($query);
66
    }
67
}
68