Completed
Push — master ( a557c9...7c6c5d )
by Luís
09:36 queued 01:11
created

GH6402Test::testQuery()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 11
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 11
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 7
nc 1
nop 0
1
<?php
2
3
namespace Doctrine\Tests\ORM\Functional\Ticket;
4
5
use Doctrine\Tests\Models\Quote\Address;
6
use Doctrine\Tests\Models\Quote\Group;
7
use Doctrine\Tests\Models\Quote\Phone;
8
use Doctrine\Tests\Models\Quote\User;
9
use Doctrine\Tests\OrmFunctionalTestCase;
10
11
/**
12
 * @group 6402
13
 */
14
class GH6402Test extends OrmFunctionalTestCase
15
{
16
    protected function setUp()
17
    {
18
        parent::setUp();
19
20
        try {
21
            $this->setUpEntitySchema([
22
                Address::class,
23
                Group::class,
24
                Phone::class,
25
                User::class,
26
            ]);
27
        } catch (\Exception $exception) {
28
        }
29
    }
30
31
    public function testFind()
32
    {
33
        $id = $this->createAddress();
34
35
        $address = $this->_em->find(Address::class, $id);
36
        self::assertNotNull($address->user);
37
    }
38
39
    public function testQuery()
40
    {
41
        $id = $this->createAddress();
42
43
        $addresses = $this->_em->createQuery("SELECT a FROM " . Address::class . " a WHERE a.id = :id")
44
            ->setParameter("id", $id)
45
            ->getResult();
46
47
        self::assertCount(1, $addresses);
48
        self::assertNotNull($addresses[0]->user);
49
    }
50
51
    private function createAddress()
52
    {
53
        $user = new User();
54
        $user->name = "foo";
55
56
        $address = new Address();
57
        $address->zip = "bar";
58
        $user->setAddress($address);
59
60
        $this->_em->persist($user);
61
        $this->_em->flush();
62
        $this->_em->clear();
63
64
        return $address->id;
65
    }
66
}
67