Rajout de doctrine/orm
[zf2.biz/galerie.git] / vendor / doctrine / orm / tests / Doctrine / Tests / ORM / Functional / Ticket / DDC142Test.php
1 <?php
2
3 namespace Doctrine\Tests\ORM\Functional\Ticket;
4
5 use Doctrine\Tests\Models\Quote\User;
6 use Doctrine\Tests\Models\Quote\Address;
7
8 require_once __DIR__ . '/../../../TestInit.php';
9
10 /**
11  * @group DDC-1845
12  * @group DDC-142
13  */
14 class DDC142Test extends \Doctrine\Tests\OrmFunctionalTestCase
15 {
16
17     protected function setUp()
18     {
19         parent::setUp();
20
21         try {
22             $this->_schemaTool->createSchema(array(
23                 $this->_em->getClassMetadata('Doctrine\Tests\Models\Quote\User'),
24                 $this->_em->getClassMetadata('Doctrine\Tests\Models\Quote\Group'),
25                 $this->_em->getClassMetadata('Doctrine\Tests\Models\Quote\Phone'),
26                 $this->_em->getClassMetadata('Doctrine\Tests\Models\Quote\Address'),
27             ));
28         } catch(\Exception $e) {
29         }
30     }
31
32     public function testCreateRetreaveUpdateDelete()
33     {
34
35         $user           = new User;
36         $user->name     = 'FabioBatSilva';
37         $this->_em->persist($user);
38
39         $address        = new Address;
40         $address->zip   = '12345';
41         $this->_em->persist($address);
42
43         $this->_em->flush();
44
45         $addressRef = $this->_em->getReference('Doctrine\Tests\Models\Quote\Address', $address->getId());
46
47         $user->setAddress($addressRef);
48
49         $this->_em->flush();
50         $this->_em->clear();
51
52         $id = $user->id;
53         $this->assertNotNull($id);
54
55         
56         $user       = $this->_em->find('Doctrine\Tests\Models\Quote\User', $id);
57         $address    = $user->getAddress();
58
59         $this->assertInstanceOf('Doctrine\Tests\Models\Quote\User', $user);
60         $this->assertInstanceOf('Doctrine\Tests\Models\Quote\Address', $user->getAddress());
61
62         $this->assertEquals('FabioBatSilva', $user->name);
63         $this->assertEquals('12345', $address->zip);
64
65
66         $user->name     = 'FabioBatSilva1';
67         $user->address  = null;
68
69         $this->_em->persist($user);
70         $this->_em->remove($address);
71         $this->_em->flush();
72         $this->_em->clear();
73
74
75         $user = $this->_em->find('Doctrine\Tests\Models\Quote\User', $id);
76         $this->assertInstanceOf('Doctrine\Tests\Models\Quote\User', $user);
77         $this->assertNull($user->getAddress());
78
79         $this->assertEquals('FabioBatSilva1', $user->name);
80         
81         
82         $this->_em->remove($user);
83         $this->_em->flush();
84         $this->_em->clear();
85
86         $this->assertNull($this->_em->find('Doctrine\Tests\Models\Quote\User', $id));
87     }
88
89 }