/**
  * {@inheritDoc}
  */
 public function load(ContainerBuilder $container)
 {
     parent::load($container);
     $container->setParameter('payum.stripe_js.template.obtain_checkout_token', '@PayumStripe/Action/obtain_js_token.html.twig');
 }
 /**
  * @test
  */
 public function shouldLoadFactoryAndTemplates()
 {
     $factory = new StripeCheckoutGatewayFactory();
     $container = new ContainerBuilder();
     $factory->load($container);
     $this->assertTrue($container->hasDefinition('payum.stripe_checkout.factory'));
     $factoryService = $container->getDefinition('payum.stripe_checkout.factory');
     $this->assertEquals('Payum\\Stripe\\StripeCheckoutGatewayFactory', $factoryService->getClass());
     $this->assertEquals(array(array('factory_name' => 'stripe_checkout', 'human_name' => 'Stripe Checkout')), $factoryService->getTag('payum.gateway_factory'));
     $factoryConfig = $factoryService->getArgument(0);
     $this->assertEquals('stripe_checkout', $factoryConfig['payum.factory_name']);
     $this->assertArrayHasKey('payum.http_client', $factoryConfig);
     $this->assertArrayHasKey('twig.env', $factoryConfig);
     $this->assertArrayHasKey('payum.iso4217', $factoryConfig);
     $this->assertArrayHasKey('payum.template.layout', $factoryConfig);
     $this->assertArrayHasKey('payum.template.obtain_token', $factoryConfig);
     $this->assertArrayHasKey('payum.template.obtain_credit_card', $factoryConfig);
     $this->assertInstanceOf('Symfony\\Component\\DependencyInjection\\Reference', $factoryService->getArgument(1));
     $this->assertEquals('payum.core_gateway_factory', (string) $factoryService->getArgument(1));
     $this->assertEquals('@PayumStripe/Action/obtain_checkout_token.html.twig', $container->getParameter('payum.stripe_checkout.template.obtain_checkout_token'));
 }