59 $this->contextMock = $this->createPartialMock(\
Magento\Backend\
App\Action\Context::class, [
68 'getResultRedirectFactory' 70 $this->orderManagementMock = $this->getMockBuilder(\
Magento\Sales\Api\OrderManagementInterface::class)
71 ->getMockForAbstractClass();
72 $this->orderRepositoryMock = $this->getMockBuilder(\
Magento\Sales\Api\OrderRepositoryInterface::class)
73 ->getMockForAbstractClass();
74 $this->loggerMock = $this->getMockBuilder(\Psr\Log\LoggerInterface::class)
75 ->getMockForAbstractClass();
76 $this->orderMock = $this->getMockBuilder(\
Magento\Sales\Api\Data\OrderInterface::class)
77 ->setMethods([
'getPayment'])
78 ->getMockForAbstractClass();
79 $this->messageManagerMock = $this->createPartialMock(
80 \
Magento\Framework\Message\Manager::class,
81 [
'addSuccessMessage',
'addErrorMessage']
84 $this->resultRedirectFactoryMock = $this->createPartialMock(
85 \
Magento\Backend\Model\View\Result\RedirectFactory::class,
89 $this->paymentMock = $this->createPartialMock(
90 \
Magento\Sales\Model\Order\Payment::class,
91 [
'update',
'getIsTransactionApproved']
94 $this->resultRedirectMock = $this->createPartialMock(
95 \
Magento\Backend\Model\View\Result\Redirect::class,
99 $this->requestMock = $this->getMockBuilder(\
Magento\Framework\
App\Request\Http::class)
100 ->setMethods([
'getParam'])
101 ->disableOriginalConstructor()->getMock();
102 $this->contextMock->expects($this->once())->method(
'getRequest')->willReturn($this->requestMock);
103 $this->contextMock->expects($this->once())->method(
'getMessageManager')->willReturn($this->messageManagerMock);
104 $this->contextMock->expects($this->once())
105 ->method(
'getResultRedirectFactory')
106 ->willReturn($this->resultRedirectFactoryMock);
108 $this->reviewPayment = (new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this))->getObject(
109 \
Magento\Sales\Controller\Adminhtml\Order\ReviewPayment::class,
111 'context' => $this->contextMock,
112 'orderManager' => $this->orderManagementMock,
113 'orderRepository' => $this->orderRepositoryMock
126 $this->requestMock->expects($this->at(0))->method(
'getParam')->with(
'order_id')->willReturn($orderId);
127 $this->requestMock->expects($this->at(1))->method(
'getParam')->with(
'action')->willReturn($action);
129 $this->resultRedirectFactoryMock->expects($this->once())->method(
'create')
130 ->willReturn($this->resultRedirectMock);
132 $this->orderRepositoryMock->expects($this->once())
135 ->willReturn($this->orderMock);
136 $this->orderMock->expects($this->any())->method(
'getEntityId')->willReturn($orderId);
137 $this->orderMock->expects($this->any())->method(
'getPayment')->willReturn($this->paymentMock);
138 $this->orderRepositoryMock->expects($this->once())
140 ->with($this->orderMock)
143 $this->paymentMock->expects($this->once())->method(
'update');
144 $this->paymentMock->expects($this->any())->method(
'getIsTransactionApproved')->willReturn(
true);
146 $this->messageManagerMock->expects($this->once())->method(
'addSuccessMessage');
148 $this->resultRedirectMock->expects($this->once())
150 ->with(
'sales/order/view')
153 $result = $this->reviewPayment->execute();
154 $this->assertEquals($this->resultRedirectMock,
$result);
testExecuteUpdateAction()
$resultRedirectFactoryMock