/** * @return void */ public function testExecuteModelException() { $invoiceId = 2; $message = 'test message'; $e = new \Magento\Framework\Exception\LocalizedException(__($message)); $this->requestMock->expects($this->once()) ->method('getParam') ->with('invoice_id') ->will($this->returnValue($invoiceId)); $this->invoiceManagement->expects($this->once()) ->method('setVoid') ->with($invoiceId) ->will($this->throwException($e)); $invoiceMock = $this->getMockBuilder('Magento\Sales\Model\Order\Invoice') ->disableOriginalConstructor() ->getMock(); $invoiceMock->expects($this->once()) ->method('getEntityId') ->will($this->returnValue($invoiceId)); $invoiceMock->expects($this->once()) ->method('getId') ->will($this->returnValue($invoiceId)); $invoiceRepository = $this->getMockBuilder('Magento\Sales\Api\InvoiceRepositoryInterface') ->disableOriginalConstructor() ->getMock(); $invoiceRepository->expects($this->any()) ->method('get') ->willReturn($invoiceMock); $this->objectManagerMock->expects($this->once()) ->method('create') ->with('Magento\Sales\Api\InvoiceRepositoryInterface') ->willReturn($invoiceRepository); $this->messageManagerMock->expects($this->once()) ->method('addError'); $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->executeInternal()); }
/** * Test execute exception * * @return void */ public function testExecuteException() { $message = 'The order no longer exists.'; $response = ['error' => true, 'message' => $message]; $orderMock = $this->getMockBuilder('Magento\Sales\Model\Order') ->disableOriginalConstructor() ->setMethods(['load', 'getId', 'canInvoice']) ->getMock(); $orderMock->expects($this->once()) ->method('load') ->will($this->returnSelf()); $orderMock->expects($this->once()) ->method('getId') ->willReturn(null); $this->objectManagerMock->expects($this->at(0)) ->method('create') ->with('Magento\Sales\Model\Order') ->willReturn($orderMock); $this->titleMock->expects($this->never()) ->method('prepend') ->with('Invoices'); /** @var \Magento\Framework\Controller\Result\Json|\PHPUnit_Framework_MockObject_MockObject */ $resultJsonMock = $this->getMockBuilder('Magento\Framework\Controller\Result\Json') ->disableOriginalConstructor() ->setMethods([]) ->getMock(); $resultJsonMock->expects($this->once())->method('setData')->with($response); $this->resultJsonFactoryMock->expects($this->once()) ->method('create') ->will($this->returnValue($resultJsonMock)); $this->assertSame($resultJsonMock, $this->controller->executeInternal()); }