[2.0] DDC-168 - Add test-case that proves that the order of reflFields matters for inserting, which causes problems with caching.
This commit is contained in:
parent
304e2286e2
commit
59c6449076
40
tests/Doctrine/Tests/ORM/Functional/Ticket/DDC168Test.php
Normal file
40
tests/Doctrine/Tests/ORM/Functional/Ticket/DDC168Test.php
Normal file
@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
namespace Doctrine\Tests\ORM\Functional\Ticket;
|
||||
|
||||
require_once __DIR__ . '/../../../TestInit.php';
|
||||
|
||||
class DDC168Test extends \Doctrine\Tests\OrmFunctionalTestCase
|
||||
{
|
||||
protected function setUp() {
|
||||
$this->useModelSet('company');
|
||||
parent::setUp();
|
||||
}
|
||||
|
||||
public function testJoinedSubclassPersisterRequiresSpecificOrderOfMetadataReflFieldsArray()
|
||||
{
|
||||
$metadata = $this->_em->getClassMetadata('Doctrine\Tests\Models\Company\CompanyEmployee');
|
||||
ksort($metadata->reflFields);
|
||||
|
||||
$spouse = new \Doctrine\Tests\Models\Company\CompanyEmployee();
|
||||
$spouse->setName("Blub");
|
||||
|
||||
$employee = new \Doctrine\Tests\Models\Company\CompanyEmployee();
|
||||
$employee->setName("Foo");
|
||||
$employee->setDepartment("bar");
|
||||
$employee->setSalary(1000);
|
||||
$employee->setSpouse($spouse);
|
||||
|
||||
$this->_em->persist($spouse);
|
||||
$this->_em->persist($employee);
|
||||
|
||||
$this->_em->flush();
|
||||
$this->_em->clear();
|
||||
|
||||
$q = $this->_em->createQuery("SELECT e FROM Doctrine\Tests\Models\Company\CompanyEmployee e WHERE e.name = ?1");
|
||||
$q->setParameter(1, "Foo");
|
||||
$theEmployee = $q->getSingleResult();
|
||||
|
||||
$this->assertEquals("bar", $theEmployee->getDepartment());
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user