/** * @test */ public function shouldCallParentsCreateMethod() { $factory = new AuthorizeNetAimPaymentFactory; $container = new ContainerBuilder; $paymentId = $factory->create($container, 'aPaymentName', array( 'login_id' => 'aLoginId', 'transaction_key' => 'aTransactionKey', '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 */ public function shouldAddPayumActionTagToStatusAction() { $factory = new AuthorizeNetAimPaymentFactory(); $container = new ContainerBuilder(); $factory->create($container, 'aContextName', array('obtain_credit_card' => false, 'login_id' => 'aLoginId', 'transaction_key' => 'aTransactionKey', 'sandbox' => true, 'actions' => array(), 'apis' => array(), 'extensions' => array())); $actionDefinition = $container->getDefinition('payum.authorize_net_aim.action.status'); $tagAttributes = $actionDefinition->getTag('payum.action'); $this->assertCount(1, $tagAttributes); $this->assertEquals($factory->getName(), $tagAttributes[0]['factory']); }