123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- <?php
- namespace Doctrine\Tests\ORM\Functional\Ticket;
- use Doctrine\ORM\UnitOfWork;
- require_once __DIR__ . '/../../../TestInit.php';
- class DDC353Test extends \Doctrine\Tests\OrmFunctionalTestCase
- {
- protected function setUp()
- {
- parent::setUp();
- try {
- $this->_schemaTool->createSchema(array(
- $this->_em->getClassMetadata(__NAMESPACE__ . '\DDC353File'),
- $this->_em->getClassMetadata(__NAMESPACE__ . '\DDC353Picture'),
- ));
- } catch(\Exception $ignored) {}
- }
- public function testWorkingCase()
- {
- $file = new DDC353File;
- $picture = new DDC353Picture;
- $picture->setFile($file);
- $em = $this->_em;
- $em->persist($picture);
- $em->flush();
- $em->clear();
- $fileId = $file->getFileId();
- $this->assertTrue($fileId > 0);
- $file = $em->getReference('Doctrine\Tests\ORM\Functional\Ticket\DDC353File', $fileId);
- $this->assertEquals(UnitOfWork::STATE_MANAGED, $em->getUnitOfWork()->getEntityState($file), "Reference Proxy should be marked MANAGED.");
- $picture = $em->find('Doctrine\Tests\ORM\Functional\Ticket\DDC353Picture', $picture->getPictureId());
- $this->assertEquals(UnitOfWork::STATE_MANAGED, $em->getUnitOfWork()->getEntityState($picture->getFile()), "Lazy Proxy should be marked MANAGED.");
- $em->remove($picture);
- $em->flush();
- }
- public function testFailingCase()
- {
- $file = new DDC353File;
- $picture = new DDC353Picture;
- $picture->setFile($file);
- $em = $this->_em;
- $em->persist($picture);
- $em->flush();
- $em->clear();
- $fileId = $file->getFileId();
- $pictureId = $picture->getPictureId();
- $this->assertTrue($fileId > 0);
- $picture = $em->find('Doctrine\Tests\ORM\Functional\Ticket\DDC353Picture', $pictureId);
- $this->assertEquals(UnitOfWork::STATE_MANAGED, $em->getUnitOfWork()->getEntityState($picture->getFile()), "Lazy Proxy should be marked MANAGED.");
- $em->remove($picture);
- $em->flush();
- }
- }
- /**
- * @Entity
- */
- class DDC353Picture
- {
- /**
- * @Column(name="picture_id", type="integer")
- * @Id @GeneratedValue
- */
- private $pictureId;
- /**
- * @ManyToOne(targetEntity="DDC353File", cascade={"persist", "remove"})
- * @JoinColumns({
- * @JoinColumn(name="file_id", referencedColumnName="file_id")
- * })
- */
- private $file;
- /**
- * Get pictureId
- */
- public function getPictureId()
- {
- return $this->pictureId;
- }
- /**
- * Set product
- */
- public function setProduct($value)
- {
- $this->product = $value;
- }
- /**
- * Get product
- */
- public function getProduct()
- {
- return $this->product;
- }
- /**
- * Set file
- */
- public function setFile($value)
- {
- $this->file = $value;
- }
- /**
- * Get file
- */
- public function getFile()
- {
- return $this->file;
- }
- }
- /**
- * @Entity
- */
- class DDC353File
- {
- /**
- * @Column(name="file_id", type="integer")
- * @Id
- * @GeneratedValue(strategy="AUTO")
- */
- public $fileId;
- /**
- * Get fileId
- */
- public function getFileId()
- {
- return $this->fileId;
- }
- }
|