123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\AsynchronousOperations\Test\Unit\Controller\Adminhtml\Bulk;
- use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
- use Magento\Framework\App\RequestInterface;
- use Magento\Backend\Model\View\Result\RedirectFactory;
- use Magento\Backend\Model\View\Result\Redirect;
- use Magento\AsynchronousOperations\Controller\Adminhtml\Bulk\Retry;
- use Magento\AsynchronousOperations\Model\BulkManagement;
- use Magento\AsynchronousOperations\Model\BulkNotificationManagement;
- use Magento\Framework\Controller\ResultFactory;
- use Magento\Framework\Controller\Result\Json;
- class RetryTest extends \PHPUnit\Framework\TestCase
- {
- /**
- * @var Retry
- */
- private $model;
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject
- */
- private $bulkManagementMock;
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject
- */
- private $notificationManagementMock;
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject
- */
- private $requestMock;
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject
- */
- private $resultRedirectFactoryMock;
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject
- */
- private $resultRedirectMock;
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject
- */
- private $resultFactoryMock;
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject
- */
- private $jsonResultMock;
- protected function setUp()
- {
- $objectManager = new ObjectManager($this);
- $this->bulkManagementMock = $this->createMock(BulkManagement::class);
- $this->notificationManagementMock = $this->createMock(BulkNotificationManagement::class);
- $this->requestMock = $this->createMock(RequestInterface::class);
- $this->resultFactoryMock = $this->createPartialMock(ResultFactory::class, ['create']);
- $this->jsonResultMock = $this->createMock(Json::class);
- $this->resultRedirectFactoryMock = $this->createPartialMock(RedirectFactory::class, ['create']);
- $this->resultRedirectMock = $this->createMock(Redirect::class);
- $this->model = $objectManager->getObject(
- Retry::class,
- [
- 'bulkManagement' => $this->bulkManagementMock,
- 'notificationManagement' => $this->notificationManagementMock,
- 'request' => $this->requestMock,
- 'resultRedirectFactory' => $this->resultRedirectFactoryMock,
- 'resultFactory' => $this->resultFactoryMock,
- ]
- );
- }
- public function testExecute()
- {
- $bulkUuid = '49da7406-1ec3-4100-95ae-9654c83a6801';
- $operationsToRetry = [
- [
- 'key' => 'value',
- 'error_code' => 1111,
- ],
- [
- 'error_code' => 2222,
- ],
- [
- 'error_code' => '3333',
- ],
- ];
- $this->requestMock->expects($this->any())
- ->method('getParam')
- ->willReturnMap([
- ['uuid', null, $bulkUuid],
- ['operations_to_retry', [], $operationsToRetry],
- ['isAjax', null, false],
- ]);
- $this->bulkManagementMock->expects($this->once())
- ->method('retryBulk')
- ->with($bulkUuid, [1111, 2222, 3333]);
- $this->notificationManagementMock->expects($this->once())
- ->method('ignoreBulks')
- ->with([$bulkUuid])
- ->willReturn(true);
- $this->resultRedirectFactoryMock->expects($this->once())
- ->method('create')
- ->willReturn($this->resultRedirectMock);
- $this->resultRedirectMock->expects($this->once())
- ->method('setPath')
- ->with('bulk/index');
- $this->model->execute();
- }
- public function testExecuteReturnsJsonResultWhenRequestIsSentViaAjax()
- {
- $bulkUuid = '49da7406-1ec3-4100-95ae-9654c83a6801';
- $operationsToRetry = [
- [
- 'key' => 'value',
- 'error_code' => 1111,
- ],
- ];
- $this->requestMock->expects($this->any())
- ->method('getParam')
- ->willReturnMap([
- ['uuid', null, $bulkUuid],
- ['operations_to_retry', [], $operationsToRetry],
- ['isAjax', null, true],
- ]);
- $this->bulkManagementMock->expects($this->once())
- ->method('retryBulk')
- ->with($bulkUuid, [1111]);
- $this->notificationManagementMock->expects($this->once())
- ->method('ignoreBulks')
- ->with([$bulkUuid])
- ->willReturn(true);
- $this->resultFactoryMock->expects($this->once())
- ->method('create')
- ->with(ResultFactory::TYPE_JSON, [])
- ->willReturn($this->jsonResultMock);
- $this->jsonResultMock->expects($this->once())
- ->method('setHttpResponseCode')
- ->with(200);
- $this->assertEquals($this->jsonResultMock, $this->model->execute());
- }
- }
|