GridPoolTest.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Sales\Test\Unit\Model\ResourceModel;
  7. /**
  8. * Class GridPoolTest
  9. */
  10. class GridPoolTest extends \PHPUnit\Framework\TestCase
  11. {
  12. /**
  13. * @var \Magento\Sales\Model\ResourceModel\GridPool
  14. */
  15. protected $gridPool;
  16. /**
  17. * @var \Magento\Sales\Model\ResourceModel\Order\Grid|\PHPUnit_Framework_MockObject_MockObject
  18. */
  19. protected $orderGridMock;
  20. /**
  21. * @var \Magento\Sales\Model\ResourceModel\Order\Invoice\Grid|\PHPUnit_Framework_MockObject_MockObject
  22. */
  23. protected $invoiceGridMock;
  24. /**
  25. * @var \Magento\Sales\Model\ResourceModel\Order\Shipment\Grid|\PHPUnit_Framework_MockObject_MockObject
  26. */
  27. protected $shipmentGridMock;
  28. /**
  29. * @var \Magento\Sales\Model\ResourceModel\Order\Creditmemo\Grid|\PHPUnit_Framework_MockObject_MockObject
  30. */
  31. protected $creditmemoGridMock;
  32. /**
  33. * @var \Zend_Db_Statement_Interface
  34. */
  35. protected $statementMock;
  36. /**
  37. * Prepare mock objects
  38. */
  39. protected function setUp()
  40. {
  41. $this->orderGridMock = $this->createMock(\Magento\Sales\Model\ResourceModel\Grid::class);
  42. $this->invoiceGridMock = $this->createMock(\Magento\Sales\Model\ResourceModel\Grid::class);
  43. $this->shipmentGridMock = $this->createMock(\Magento\Sales\Model\ResourceModel\Grid::class);
  44. $this->creditmemoGridMock = $this->createMock(\Magento\Sales\Model\ResourceModel\Grid::class);
  45. $this->statementMock = $this->getMockForAbstractClass(\Zend_Db_Statement_Interface::class);
  46. $grids = [
  47. 'order_grid' => $this->orderGridMock,
  48. 'invoice_grid' => $this->invoiceGridMock,
  49. 'shipment_grid' => $this->shipmentGridMock,
  50. 'creditmemo_grid' => $this->creditmemoGridMock
  51. ];
  52. $this->gridPool = new \Magento\Sales\Model\ResourceModel\GridPool($grids);
  53. }
  54. /**
  55. * Test method refreshByOrderId()
  56. */
  57. public function testRefreshByOrderId()
  58. {
  59. $orderId = 1;
  60. $this->orderGridMock->expects($this->once())
  61. ->method('getOrderIdField')
  62. ->willReturn('sfo.entity_id');
  63. $this->invoiceGridMock->expects($this->once())
  64. ->method('getOrderIdField')
  65. ->willReturn('sfo.entity_id');
  66. $this->shipmentGridMock->expects($this->once())
  67. ->method('getOrderIdField')
  68. ->willReturn('sfo.entity_id');
  69. $this->creditmemoGridMock->expects($this->once())
  70. ->method('getOrderIdField')
  71. ->willReturn('sfo.entity_id');
  72. $this->orderGridMock->expects($this->once())
  73. ->method('refresh')
  74. ->with($this->equalTo($orderId), $this->equalTo('sfo.entity_id'))
  75. ->will($this->returnValue($this->statementMock));
  76. $this->invoiceGridMock->expects($this->once())
  77. ->method('refresh')
  78. ->with($this->equalTo($orderId), $this->equalTo('sfo.entity_id'))
  79. ->will($this->returnValue($this->statementMock));
  80. $this->shipmentGridMock->expects($this->once())
  81. ->method('refresh')
  82. ->with($this->equalTo($orderId), $this->equalTo('sfo.entity_id'))
  83. ->will($this->returnValue($this->statementMock));
  84. $this->creditmemoGridMock->expects($this->once())
  85. ->method('refresh')
  86. ->with($this->equalTo($orderId), $this->equalTo('sfo.entity_id'))
  87. ->will($this->returnValue($this->statementMock));
  88. $this->assertEquals($this->gridPool, $this->gridPool->refreshByOrderId($orderId));
  89. }
  90. }