/** * @test */ public function shouldCallParentsCreateMethod() { $factory = new PayexPaymentFactory; $container = new ContainerBuilder; $paymentId = $factory->create($container, 'aPaymentName', array( 'encryption_key' => 'aKey', 'account_number' => 'aNum', 'sandbox' => true, 'actions' => array('payum.action.foo'), 'apis' => array('payum.api.bar'), 'extensions' => array('payum.extension.ololo'), )); $this->assertDefinitionContainsMethodCall( $container->getDefinition($paymentId), 'addAction', new Reference('payum.action.foo') ); $this->assertDefinitionContainsMethodCall( $container->getDefinition($paymentId), 'addApi', new Reference('payum.api.bar') ); $this->assertDefinitionContainsMethodCall( $container->getDefinition($paymentId), 'addExtension', new Reference('payum.extension.ololo') ); }
/** * @test * * @dataProvider provideTaggedActions */ public function shouldAddPayumActionTagToActions($actionId) { $factory = new PayexPaymentFactory(); $container = new ContainerBuilder(); $factory->create($container, 'aContextName', array('obtain_credit_card' => false, 'encryption_key' => 'aKey', 'account_number' => 'aNum', 'sandbox' => true, 'actions' => array(), 'apis' => array(), 'extensions' => array())); $actionDefinition = $container->getDefinition($actionId); $tagAttributes = $actionDefinition->getTag('payum.action'); $this->assertCount(1, $tagAttributes); $this->assertEquals($factory->getName(), $tagAttributes[0]['factory']); }