public function testExecuteException() { $orderId = 1; $invoiceId = 2; $invoiceData = []; $message = 'Invoice capturing error'; $e = new \Exception($message); $this->requestMock->expects($this->at(0))->method('getParam')->with('order_id')->will($this->returnValue($orderId)); $this->requestMock->expects($this->at(1))->method('getParam')->with('invoice_id')->will($this->returnValue($invoiceId)); $this->requestMock->expects($this->at(2))->method('getParam')->with('invoice')->will($this->returnValue($invoiceData)); $invoiceMock = $this->getMockBuilder('Magento\\Sales\\Model\\Order\\Invoice')->disableOriginalConstructor()->setMethods([])->getMock(); $invoiceMock->expects($this->once())->method('capture')->will($this->throwException($e)); $this->messageManagerMock->expects($this->once())->method('addError')->with($message); $this->invoiceLoaderMock->expects($this->once())->method('load')->with($orderId, $invoiceId, $invoiceData)->will($this->returnValue($invoiceMock)); $this->assertNull($this->controller->execute()); }
/** * @return void */ public function testExecuteException() { $invoiceId = 2; $message = 'Invoice capturing error'; $e = new \Exception($message); $this->requestMock->expects($this->once())->method('getParam')->with('invoice_id')->will($this->returnValue($invoiceId)); $this->invoiceManagement->expects($this->once())->method('setCapture')->with($invoiceId)->will($this->throwException($e)); $invoiceMock = $this->getMockBuilder('Magento\\Sales\\Model\\Order\\Invoice')->disableOriginalConstructor()->getMock(); $this->messageManagerMock->expects($this->once())->method('addError')->with($message); $invoiceMock->expects($this->once())->method('getId')->will($this->returnValue($invoiceId)); $invoiceMock->expects($this->once())->method('getEntityId')->will($this->returnValue($invoiceId)); $this->invoiceRepository->expects($this->once())->method('get')->willReturn($invoiceMock); $resultRedirect = $this->getMockBuilder('Magento\\Backend\\Model\\View\\Result\\Redirect')->disableOriginalConstructor()->setMethods([])->getMock(); $resultRedirect->expects($this->once())->method('setPath')->with('sales/*/view', ['invoice_id' => $invoiceId]); $this->resultRedirectFactoryMock->expects($this->once())->method('create')->will($this->returnValue($resultRedirect)); $this->assertSame($resultRedirect, $this->controller->execute()); }