예제 #1
0
 /**
  * @test
  */
 public function shouldAllowPrependExtensions()
 {
     $firstExtension = $this->getMock(ExtensionInterface::class);
     $secondExtension = $this->getMock(ExtensionInterface::class);
     $factory = new CoreGatewayFactory();
     $gateway = $factory->create(array('payum.extension.foo' => $firstExtension, 'payum.extension.bar' => $secondExtension));
     $extensions = $this->readAttribute($this->readAttribute($gateway, 'extensions'), 'extensions');
     $this->assertSame($firstExtension, $extensions[0]);
     $this->assertSame($secondExtension, $extensions[1]);
     $gateway = $factory->create(array('payum.extension.foo' => $firstExtension, 'payum.extension.bar' => $secondExtension, 'payum.prepend_extensions' => array('payum.extension.bar')));
     $extensions = $this->readAttribute($this->readAttribute($gateway, 'extensions'), 'extensions');
     $this->assertSame($secondExtension, $extensions[0]);
     $this->assertSame($firstExtension, $extensions[1]);
 }