Passed
Pull Request — 2.8.x (#7936)
by Benjamin
05:38
created

GH5202Test::testOnlyQueryHintForProxy()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 22
Code Lines 13

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 13
c 1
b 0
f 0
dl 0
loc 22
rs 9.8333
cc 1
nc 1
nop 0
1
<?php
2
3
namespace Doctrine\Tests\ORM\Functional\Ticket;
4
5
use Doctrine\Tests\Models\CMS\CmsUser;
6
use Doctrine\ORM\Query;
7
8
class GH5202Test extends \Doctrine\Tests\OrmFunctionalTestCase
9
{
10
    protected function setUp()
11
    {
12
        $this->useModelSet('cms');
13
        parent::setUp();
14
    }
15
16
    public function testReadOnlyQueryHint()
17
    {
18
        $user = new CmsUser();
19
        $user->name = "beberlei";
20
        $user->status = "active";
21
        $user->username = "beberlei";
22
23
        $this->_em->persist($user);
24
25
        $this->_em->flush();
26
        $this->_em->clear();
27
28
        $dql = "SELECT u FROM Doctrine\\Tests\Models\CMS\CmsUser u";
29
30
        $query = $this->_em->createQuery($dql);
31
        $query->setHint(Query::HINT_READ_ONLY, true);
32
33
        $user = $query->getSingleResult();
34
35
        $this->assertTrue($this->_em->getUnitOfWork()->isReadOnly($user));
36
    }
37
38
    public function testOnlyQueryHintForProxy()
39
    {
40
        $user = new CmsUser();
41
        $user->name = "beberlei";
42
        $user->status = "active";
43
        $user->username = "beberlei";
44
45
        $this->_em->persist($user);
46
47
        $this->_em->flush();
48
        $this->_em->clear();
49
50
        $user = $this->_em->getReference(CmsUser::class, $user->id);
0 ignored issues
show
Unused Code introduced by
The assignment to $user is dead and can be removed.
Loading history...
51
52
        $dql = "SELECT u FROM Doctrine\\Tests\Models\CMS\CmsUser u";
53
54
        $query = $this->_em->createQuery($dql);
55
        $query->setHint(Query::HINT_READ_ONLY, true);
56
57
        $user = $query->getSingleResult();
58
59
        $this->assertTrue($this->_em->getUnitOfWork()->isReadOnly($user));
60
    }
61
}
62