Exemplo n.º 1
0
    /**
     * @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'));
 }