/** * @test */ public function shouldCallOnPostExecuteForAllExtensionsInCollection() { $expectedContext = $this->createContextMock(); $extensionFirst = $this->createExtensionMock(); $extensionFirst->expects($this->once())->method('onPostExecute')->with($this->identicalTo($expectedContext)); $extensionSecond = $this->createExtensionMock(); $extensionSecond->expects($this->once())->method('onPostExecute')->with($expectedContext); $collection = new ExtensionCollection(); $collection->addExtension($extensionFirst); $collection->addExtension($extensionSecond); $result = $collection->onPostExecute($expectedContext); $this->assertNull($result); }
/** * @test */ public function shouldCallOnExceptionForAllExtensionsInCollection() { $expectedException = new \Exception(); $expectedRequest = new \stdClass(); $expectedAction = $this->getMock('Payum\\Core\\Action\\ActionInterface'); $extensionFirst = $this->createExtensionMock(); $extensionFirst->expects($this->once())->method('onException')->with($this->identicalTo($expectedException), $this->identicalTo($expectedRequest), $this->identicalTo($expectedAction)); $extensionSecond = $this->createExtensionMock(); $extensionSecond->expects($this->once())->method('onException')->with($this->identicalTo($expectedException), $this->identicalTo($expectedRequest), $this->identicalTo($expectedAction)); $collection = new ExtensionCollection(); $collection->addExtension($extensionFirst); $collection->addExtension($extensionSecond); $result = $collection->onException($expectedException, $expectedRequest, $expectedAction); $this->assertNull($result); }
/** * @param \Payum\Core\Extension\ExtensionInterface $extension * @param bool $forcePrepend * * @return void */ public function addExtension(ExtensionInterface $extension, $forcePrepend = false) { $this->extensions->addExtension($extension, $forcePrepend); }