/** * @test */ public function shouldAddPayumMappingIfDoctrineBundleRegisteredAndDbalConfigured() { $extension = new PayumExtension; $container = new ContainerBuilder; $container->setParameter('kernel.bundles', array('DoctrineBundle' => 'DoctrineBundle')); $container->prependExtensionConfig('doctrine', array()); $container->prependExtensionConfig('doctrine', array( 'dbal' => 'not empty' )); $extension->prepend($container); $rc = new \ReflectionClass('Payum\Core\Payment'); $payumRootDir = dirname($rc->getFileName()); $this->assertEquals( array( array( 'orm' => array('mappings' => array( 'payum' => array( 'is_bundle' => false, 'type' => 'xml', 'dir' => $payumRootDir.'/Bridge/Doctrine/Resources/mapping', 'prefix' => 'Payum\Core\Model', ) )), ), array('dbal' => 'not empty'), array(), ), $container->getExtensionConfig('doctrine') ); }
/** * @test */ public function shouldPassContainerToPaymentFactoryPrependMethodIfImplementsPrependFactoryInterface() { $this->markTestSkipped('The logic was disabled because of the bug. See https://github.com/symfony/symfony/pull/9719'); $container = new ContainerBuilder(); $factoryMock = $this->getMock('Payum\\Bundle\\PayumBundle\\Tests\\DependencyInjection\\FactoryPlusPrependExtension'); $factoryMock->expects($this->any())->method('getName')->will($this->returnValue('aFactory')); $factoryMock->expects($this->any())->method('prepend')->with($this->identicalTo($container))->will($this->returnCallback(function (ContainerBuilder $container) { $container->prependExtensionConfig('twig', array('foo' => 'fooVal')); $container->prependExtensionConfig('twig', array('bar' => 'barVal')); })); //guard $this->assertInstanceOf('Symfony\\Component\\DependencyInjection\\Extension\\PrependExtensionInterface', $factoryMock); $extension = new PayumExtension(); $extension->addPaymentFactory($factoryMock); $extension->prepend($container); $this->assertEquals(array(array('bar' => 'barVal'), array('foo' => 'fooVal')), $container->getExtensionConfig('twig')); }