Rajout de doctrine/orm
[zf2.biz/galerie.git] / vendor / doctrine / orm / tests / Doctrine / Tests / ORM / Functional / UnitOfWorkLifecycleTest.php
1 <?php
2
3 namespace Doctrine\Tests\ORM\Functional;
4
5 use Doctrine\Tests\Models\CMS\CmsUser;
6
7 class UnitOfWorkLifecycleTest extends \Doctrine\Tests\OrmFunctionalTestCase
8 {
9     protected function setUp()
10     {
11         $this->useModelSet('cms');
12         parent::setUp();
13     }
14
15     public function testScheduleInsertManaged()
16     {
17         $user = new CmsUser();
18         $user->username = "beberlei";
19         $user->name = "Benjamin";
20         $user->status = "active";
21         $this->_em->persist($user);
22         $this->_em->flush();
23
24         $this->setExpectedException("Doctrine\ORM\ORMInvalidArgumentException", "A managed+dirty entity Doctrine\Tests\Models\CMS\CmsUser");
25         $this->_em->getUnitOfWork()->scheduleForInsert($user);
26     }
27
28     public function testScheduleInsertDeleted()
29     {
30         $user = new CmsUser();
31         $user->username = "beberlei";
32         $user->name = "Benjamin";
33         $user->status = "active";
34         $this->_em->persist($user);
35         $this->_em->flush();
36
37         $this->_em->remove($user);
38
39         $this->setExpectedException("Doctrine\ORM\ORMInvalidArgumentException", "Removed entity Doctrine\Tests\Models\CMS\CmsUser");
40         $this->_em->getUnitOfWork()->scheduleForInsert($user);
41     }
42
43     public function testScheduleInsertTwice()
44     {
45         $user = new CmsUser();
46         $user->username = "beberlei";
47         $user->name = "Benjamin";
48         $user->status = "active";
49
50         $this->_em->getUnitOfWork()->scheduleForInsert($user);
51
52         $this->setExpectedException("Doctrine\ORM\ORMInvalidArgumentException", "Entity Doctrine\Tests\Models\CMS\CmsUser");
53         $this->_em->getUnitOfWork()->scheduleForInsert($user);
54     }
55
56     public function testAddToIdentityMapWithoutIdentity()
57     {
58         $user = new CmsUser();
59
60         $this->setExpectedException("Doctrine\ORM\ORMInvalidArgumentException", "The given entity of type 'Doctrine\Tests\Models\CMS\CmsUser' (Doctrine\Tests\Models\CMS\CmsUser@");
61         $this->_em->getUnitOfWork()->registerManaged($user, array(), array());
62     }
63
64     public function testMarkReadOnlyNonManaged()
65     {
66         $user = new CmsUser();
67
68         $this->setExpectedException("Doctrine\ORM\ORMInvalidArgumentException", "Only managed entities can be marked or checked as read only. But Doctrine\Tests\Models\CMS\CmsUser@");
69         $this->_em->getUnitOfWork()->markReadOnly($user);
70     }
71 }