From 1f4810e3704f538da014d580aa473146fe5b0446 Mon Sep 17 00:00:00 2001 From: Frank Liepert Date: Wed, 9 Apr 2014 10:19:48 +0200 Subject: [PATCH] [DDC-3076] Add test --- .../Hydration/SimpleObjectHydratorTest.php | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/tests/Doctrine/Tests/ORM/Hydration/SimpleObjectHydratorTest.php b/tests/Doctrine/Tests/ORM/Hydration/SimpleObjectHydratorTest.php index 400b5829f..b8230fc45 100644 --- a/tests/Doctrine/Tests/ORM/Hydration/SimpleObjectHydratorTest.php +++ b/tests/Doctrine/Tests/ORM/Hydration/SimpleObjectHydratorTest.php @@ -58,4 +58,31 @@ class SimpleObjectHydratorTest extends HydrationTestCase $result = $hydrator->hydrateAll($stmt, $rsm); $this->assertEquals($result[0], $expectedEntity); } + + /** + * @group DDC-3076 + * + * @expectedException \Doctrine\ORM\Internal\Hydration\HydrationException + * @expectedExceptionMessage The discriminator value "subworker" is invalid. It must be one of "person", "manager", "employee". + */ + public function testInvalidDiscriminatorValueException() + { + $rsm = new ResultSetMapping; + $rsm->addEntityResult('Doctrine\Tests\Models\Company\CompanyPerson', 'p'); + $rsm->addFieldResult('p', 'p__id', 'id'); + $rsm->addFieldResult('p', 'p__name', 'name'); + $rsm->addMetaResult('p ', 'discr', 'discr'); + $rsm->setDiscriminatorColumn('p', 'discr'); + $resultSet = array( + array( + 'u__id' => '1', + 'u__name' => 'Fabio B. Silva', + 'discr' => 'subworker' + ), + ); + + $stmt = new HydratorMockStatement($resultSet); + $hydrator = new \Doctrine\ORM\Internal\Hydration\SimpleObjectHydrator($this->_em); + $hydrator->hydrateAll($stmt, $rsm); + } }