CleanStaticFilesTest.php 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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\Cache;
  7. class CleanStaticFilesTest extends \PHPUnit\Framework\TestCase
  8. {
  9. /**
  10. * @var \Magento\Framework\ObjectManagerInterface | \PHPUnit_Framework_MockObject_MockObject
  11. */
  12. private $objectManagerMock;
  13. /**
  14. * @var \Magento\Framework\Event\ManagerInterface | \PHPUnit_Framework_MockObject_MockObject
  15. */
  16. private $eventManagerMock;
  17. /**
  18. * @var \Magento\Framework\Message\ManagerInterface | \PHPUnit_Framework_MockObject_MockObject
  19. */
  20. private $messageManagerMock;
  21. /**
  22. * @var \Magento\Framework\Controller\ResultFactory | \PHPUnit_Framework_MockObject_MockObject
  23. */
  24. private $resultFactoryMock;
  25. /**
  26. * @var \Magento\Backend\Controller\Adminhtml\Cache\CleanStaticFiles
  27. */
  28. private $controller;
  29. protected function setUp()
  30. {
  31. $this->objectManagerMock = $this->createMock(\Magento\Framework\ObjectManagerInterface::class);
  32. $this->eventManagerMock = $this->getMockBuilder(\Magento\Framework\Event\ManagerInterface::class)
  33. ->disableOriginalConstructor()
  34. ->getMock();
  35. $this->messageManagerMock = $this->getMockBuilder(\Magento\Framework\Message\ManagerInterface::class)
  36. ->disableOriginalConstructor()
  37. ->getMock();
  38. $this->resultFactoryMock = $this->getMockBuilder(\Magento\Framework\Controller\ResultFactory::class)
  39. ->disableOriginalConstructor()
  40. ->getMock();
  41. $objectHelper = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
  42. $context = $objectHelper->getObject(
  43. \Magento\Backend\App\Action\Context::class,
  44. [
  45. 'objectManager' => $this->objectManagerMock,
  46. 'eventManager' => $this->eventManagerMock,
  47. 'messageManager' => $this->messageManagerMock,
  48. 'resultFactory' => $this->resultFactoryMock,
  49. ]
  50. );
  51. $this->controller = $objectHelper->getObject(
  52. \Magento\Backend\Controller\Adminhtml\Cache\CleanStaticFiles::class,
  53. ['context' => $context]
  54. );
  55. }
  56. public function testExecute()
  57. {
  58. $cleanupFilesMock = $this->getMockBuilder(\Magento\Framework\App\State\CleanupFiles::class)
  59. ->disableOriginalConstructor()
  60. ->getMock();
  61. $cleanupFilesMock->expects($this->once())
  62. ->method('clearMaterializedViewFiles');
  63. $this->objectManagerMock->expects($this->once())->method('get')->will($this->returnValue($cleanupFilesMock));
  64. $this->eventManagerMock->expects($this->once())
  65. ->method('dispatch')
  66. ->with('clean_static_files_cache_after');
  67. $this->messageManagerMock->expects($this->once())
  68. ->method('addSuccessMessage')
  69. ->with('The static files cache has been cleaned.');
  70. $resultRedirect = $this->getMockBuilder(\Magento\Backend\Model\View\Result\Redirect::class)
  71. ->disableOriginalConstructor()
  72. ->getMock();
  73. $this->resultFactoryMock->expects($this->atLeastOnce())
  74. ->method('create')
  75. ->with(\Magento\Framework\Controller\ResultFactory::TYPE_REDIRECT)
  76. ->willReturn($resultRedirect);
  77. $resultRedirect->expects($this->once())
  78. ->method('setPath')
  79. ->with('adminhtml/*')
  80. ->willReturnSelf();
  81. // Run
  82. $this->controller->execute();
  83. }
  84. }