public function testLoadClassMetadata() { $fakedMetadata = new \stdClass(); $fakedMetadata->name = 'IncorrectValue'; $subscriber = new ORMInheritanceSubscriber(array(), 'Application\\Sonata\\ProductBundle\\Entity\\Product'); $metadata = $this->getMockBuilder('Doctrine\\ORM\\Event\\LoadClassMetadataEventArgs')->disableOriginalConstructor()->getMock(); $metadata->expects($this->any())->method('getClassMetadata')->will($this->returnValue($fakedMetadata)); $this->assertNull($subscriber->loadClassMetadata($metadata)); unset($fakedMetadata); $classMetadata = $this->getMockBuilder('Doctrine\\ORM\\Mapping\\ClassMetadata')->disableOriginalConstructor()->getMock(); $classMetadata->name = 'Application\\Sonata\\ProductBundle\\Entity\\Product'; $metadata = $this->getMockBuilder('Doctrine\\ORM\\Event\\LoadClassMetadataEventArgs')->disableOriginalConstructor()->getMock(); $metadata->expects($this->any())->method('getClassMetadata')->will($this->returnValue($classMetadata)); try { $subscriber->loadClassMetadata($metadata); } catch (\Exception $e) { $this->fail('->loadClassMetadata() should not throw an exception when using Product entity'); } }