RefreshStatisticsTest.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Backend\Test\Unit\Controller\Adminhtml\Dashboard;
  7. /**
  8. * Test for \Magento\Backend\Controller\Adminhtml\Dashboard\RefreshStatistics
  9. */
  10. class RefreshStatisticsTest extends \PHPUnit\Framework\TestCase
  11. {
  12. /**
  13. * @var \Magento\Backend\Model\View\Result\Redirect|\PHPUnit_Framework_MockObject_MockObject
  14. */
  15. protected $resultRedirect;
  16. /**
  17. * @var \Magento\Backend\Model\View\Result\RedirectFactory|\PHPUnit_Framework_MockObject_MockObject
  18. */
  19. protected $resultRedirectFactory;
  20. /**
  21. * @var \Magento\Framework\App\RequestInterface|\PHPUnit_Framework_MockObject_MockObject
  22. */
  23. protected $request;
  24. /**
  25. * @var \Magento\Framework\App\ResponseInterface|\PHPUnit_Framework_MockObject_MockObject
  26. */
  27. protected $response;
  28. /**
  29. * @var \Magento\Framework\Message\Manager|\PHPUnit_Framework_MockObject_MockObject
  30. */
  31. protected $messageManager;
  32. /**
  33. * @var \Magento\Sales\Model\ResourceModel\Report\Order|\PHPUnit_Framework_MockObject_MockObject
  34. */
  35. protected $order;
  36. /**
  37. * @var \Magento\Framework\ObjectManagerInterface|\PHPUnit_Framework_MockObject_MockObject
  38. */
  39. protected $objectManager;
  40. /**
  41. * @var \Magento\Backend\Controller\Adminhtml\Dashboard\RefreshStatistics
  42. */
  43. protected $refreshStatisticsController;
  44. /**
  45. * @var \Magento\Backend\App\Action\Context|\PHPUnit_Framework_MockObject_MockObject
  46. */
  47. protected $context;
  48. protected function setUp()
  49. {
  50. $reportTypes = [
  51. 'sales' => \Magento\Sales\Model\ResourceModel\Report\Order::class
  52. ];
  53. $objectManagerHelper = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
  54. $this->resultRedirectFactory = $this->createPartialMock(
  55. \Magento\Backend\Model\View\Result\RedirectFactory::class,
  56. ['create']
  57. );
  58. $this->resultRedirect = $this->createMock(\Magento\Backend\Model\View\Result\Redirect::class);
  59. $this->request = $this->createMock(\Magento\Framework\App\RequestInterface::class);
  60. $this->response = $this->createPartialMock(
  61. \Magento\Framework\App\ResponseInterface::class,
  62. ['setRedirect', 'sendResponse']
  63. );
  64. $this->messageManager = $this->createMock(\Magento\Framework\Message\Manager::class);
  65. $this->order = $this->createMock(\Magento\Sales\Model\ResourceModel\Report\Order::class);
  66. $this->objectManager = $this->createMock(\Magento\Framework\ObjectManagerInterface::class);
  67. $this->context = $this->createMock(\Magento\Backend\App\Action\Context::class);
  68. $this->context->expects($this->once())->method('getRequest')->willReturn($this->request);
  69. $this->context->expects($this->once())->method('getResponse')->willReturn($this->response);
  70. $this->context->expects($this->once())->method('getMessageManager')->willReturn($this->messageManager);
  71. $this->context->expects($this->any())->method('getObjectManager')->willReturn($this->objectManager);
  72. $this->context->expects($this->once())
  73. ->method('getResultRedirectFactory')
  74. ->willReturn($this->resultRedirectFactory);
  75. $this->refreshStatisticsController = $objectManagerHelper->getObject(
  76. \Magento\Backend\Controller\Adminhtml\Dashboard\RefreshStatistics::class,
  77. [
  78. 'context' => $this->context,
  79. 'reportTypes' => $reportTypes
  80. ]
  81. );
  82. }
  83. public function testExecute()
  84. {
  85. $path = '*/*';
  86. $this->resultRedirectFactory->expects($this->any())->method('create')->willReturn($this->resultRedirect);
  87. $this->messageManager->expects($this->once())
  88. ->method('addSuccessMessage')
  89. ->with(__('We updated lifetime statistic.'));
  90. $this->objectManager->expects($this->any())
  91. ->method('create')
  92. ->with(\Magento\Sales\Model\ResourceModel\Report\Order::class)
  93. ->willReturn($this->order);
  94. $this->resultRedirect->expects($this->once())
  95. ->method('setPath')
  96. ->with($path)
  97. ->willReturnSelf();
  98. $this->assertInstanceOf(
  99. \Magento\Backend\Model\View\Result\Redirect::class,
  100. $this->refreshStatisticsController->execute()
  101. );
  102. }
  103. }