ExportDataHandlerNotificationTest.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Analytics\Test\Unit\Model;
  7. use Magento\Analytics\Model\Connector;
  8. use Magento\Analytics\Model\ExportDataHandler;
  9. use Magento\Analytics\Model\ExportDataHandlerNotification;
  10. use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper;
  11. class ExportDataHandlerNotificationTest extends \PHPUnit\Framework\TestCase
  12. {
  13. /**
  14. * @var ObjectManagerHelper
  15. */
  16. private $objectManagerHelper;
  17. /**
  18. * @return void
  19. */
  20. public function setUp()
  21. {
  22. $this->objectManagerHelper = new ObjectManagerHelper($this);
  23. }
  24. /**
  25. * @return void
  26. */
  27. public function testThatNotifyExecuted()
  28. {
  29. $expectedResult = true;
  30. $notifyCommandName = 'notifyDataChanged';
  31. $exportDataHandlerMockObject = $this->createExportDataHandlerMock();
  32. $analyticsConnectorMockObject = $this->createAnalyticsConnectorMock();
  33. /**
  34. * @var $exportDataHandlerNotification ExportDataHandlerNotification
  35. */
  36. $exportDataHandlerNotification = $this->objectManagerHelper->getObject(
  37. ExportDataHandlerNotification::class,
  38. [
  39. 'exportDataHandler' => $exportDataHandlerMockObject,
  40. 'connector' => $analyticsConnectorMockObject,
  41. ]
  42. );
  43. $exportDataHandlerMockObject->expects($this->once())
  44. ->method('prepareExportData')
  45. ->willReturn($expectedResult);
  46. $analyticsConnectorMockObject->expects($this->once())
  47. ->method('execute')
  48. ->with($notifyCommandName);
  49. $this->assertEquals($expectedResult, $exportDataHandlerNotification->prepareExportData());
  50. }
  51. /**
  52. * @return \PHPUnit_Framework_MockObject_MockObject
  53. */
  54. private function createExportDataHandlerMock()
  55. {
  56. return $this->getMockBuilder(ExportDataHandler::class)->disableOriginalConstructor()->getMock();
  57. }
  58. /**
  59. * @return \PHPUnit_Framework_MockObject_MockObject
  60. */
  61. private function createAnalyticsConnectorMock()
  62. {
  63. return $this->getMockBuilder(Connector::class)->disableOriginalConstructor()->getMock();
  64. }
  65. }