Sonata\Test\Component\Subscriber\ORMInheritanceSubscriberTest::testLoadClassMetadata PHP Method

testLoadClassMetadata() public method

    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');
        }
    }