GridSyncInsertObserverTest.php 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Sales\Test\Unit\Observer;
  7. /**
  8. * Class GridSyncInsertObserverTest
  9. */
  10. class GridSyncInsertObserverTest extends \PHPUnit\Framework\TestCase
  11. {
  12. /**
  13. * @var \Magento\Sales\Observer\GridSyncInsertObserver
  14. */
  15. protected $unit;
  16. /**
  17. * @var \Magento\Sales\Model\ResourceModel\GridInterface|\PHPUnit_Framework_MockObject_MockObject
  18. */
  19. protected $gridAggregatorMock;
  20. /**
  21. * @var \Magento\Framework\Event\Observer|\PHPUnit_Framework_MockObject_MockObject
  22. */
  23. protected $eventObserverMock;
  24. /**
  25. * @var \Magento\Sales\Model\AbstractModel|\PHPUnit_Framework_MockObject_MockObject
  26. */
  27. protected $salesModelMock;
  28. /**
  29. * @var \Magento\Framework\App\Config\ScopeConfigInterface|\PHPUnit_Framework_MockObject_MockObject
  30. */
  31. protected $scopeConfigurationMock;
  32. protected function setUp()
  33. {
  34. $this->gridAggregatorMock = $this->getMockBuilder(\Magento\Sales\Model\ResourceModel\GridInterface::class)
  35. ->getMockForAbstractClass();
  36. $this->eventObserverMock = $this->getMockBuilder(\Magento\Framework\Event\Observer::class)
  37. ->disableOriginalConstructor()
  38. ->setMethods(
  39. [
  40. 'getObject',
  41. 'getDataObject'
  42. ]
  43. )
  44. ->getMock();
  45. $this->salesModelMock = $this->getMockBuilder(\Magento\Sales\Model\AbstractModel::class)
  46. ->disableOriginalConstructor()
  47. ->setMethods(
  48. [
  49. 'getId'
  50. ]
  51. )
  52. ->getMockForAbstractClass();
  53. $this->scopeConfigurationMock = $this->getMockBuilder(\Magento\Framework\App\Config\ScopeConfigInterface::class)
  54. ->getMockForAbstractClass();
  55. $this->unit = new \Magento\Sales\Observer\GridSyncInsertObserver(
  56. $this->gridAggregatorMock,
  57. $this->scopeConfigurationMock
  58. );
  59. }
  60. public function testSyncInsert()
  61. {
  62. $this->eventObserverMock->expects($this->once())
  63. ->method('getObject')
  64. ->willReturn($this->salesModelMock);
  65. $this->salesModelMock->expects($this->once())
  66. ->method('getId')
  67. ->willReturn('sales-id-value');
  68. $this->scopeConfigurationMock->expects($this->once())
  69. ->method('getValue')
  70. ->with('dev/grid/async_indexing', 'default', null)
  71. ->willReturn(false);
  72. $this->gridAggregatorMock->expects($this->once())
  73. ->method('refresh')
  74. ->with('sales-id-value');
  75. $this->unit->execute($this->eventObserverMock);
  76. }
  77. public function testSyncInsertDisabled()
  78. {
  79. $this->scopeConfigurationMock->expects($this->once())
  80. ->method('getValue')
  81. ->with('dev/grid/async_indexing', 'default', null)
  82. ->willReturn(true);
  83. $this->gridAggregatorMock->expects($this->never())
  84. ->method('refresh')
  85. ->with('sales-id-value');
  86. $this->unit->execute($this->eventObserverMock);
  87. }
  88. }