PrintShipmentTest.php 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Sales\Test\Unit\Block\Order;
  7. use Magento\Sales\Model\ResourceModel\Order\Item\Collection as ItemCollection;
  8. class PrintShipmentTest extends \PHPUnit\Framework\TestCase
  9. {
  10. /**
  11. * @var \PHPUnit_Framework_MockObject_MockObject
  12. */
  13. private $contextMock;
  14. /**
  15. * @var \PHPUnit_Framework_MockObject_MockObject
  16. */
  17. private $registryMock;
  18. /**
  19. * @var \PHPUnit_Framework_MockObject_MockObject
  20. */
  21. private $itemCollectionMock;
  22. /**
  23. * @var \Magento\Sales\Block\Order\PrintShipment
  24. */
  25. private $block;
  26. protected function setUp()
  27. {
  28. $this->contextMock = $this->getMockBuilder(\Magento\Framework\View\Element\Template\Context::class)
  29. ->disableOriginalConstructor()
  30. ->getMock();
  31. $this->registryMock = $this->getMockBuilder(\Magento\Framework\Registry::class)
  32. ->disableOriginalConstructor()
  33. ->getMock();
  34. $paymentHelperMock = $this->getMockBuilder(\Magento\Payment\Helper\Data::class)
  35. ->disableOriginalConstructor()
  36. ->getMock();
  37. $addressRendererMock = $this->getMockBuilder(\Magento\Sales\Model\Order\Address\Renderer::class)
  38. ->disableOriginalConstructor()
  39. ->getMock();
  40. $this->block = new \Magento\Sales\Block\Order\PrintShipment(
  41. $this->contextMock,
  42. $this->registryMock,
  43. $paymentHelperMock,
  44. $addressRendererMock
  45. );
  46. $this->itemCollectionMock = $this->getMockBuilder(ItemCollection::class)
  47. ->disableOriginalConstructor()
  48. ->getMock();
  49. }
  50. public function testIsPagerDisplayed()
  51. {
  52. $this->assertFalse($this->block->isPagerDisplayed());
  53. }
  54. public function testGetItemsNoOrder()
  55. {
  56. $this->registryMock->expects($this->once())
  57. ->method('registry')
  58. ->with('current_order')
  59. ->willReturn(null);
  60. $this->assertEmpty($this->block->getItems());
  61. }
  62. public function testGetItemsSuccessful()
  63. {
  64. $orderMock = $this->getMockBuilder(\Magento\Sales\Model\Order::class)
  65. ->disableOriginalConstructor()
  66. ->getMock();
  67. $items = [5, 3, 1];
  68. $this->registryMock->expects($this->exactly(2))
  69. ->method('registry')
  70. ->with('current_order')
  71. ->willReturn($orderMock);
  72. $orderMock->expects($this->once())
  73. ->method('getItemsCollection')
  74. ->willReturn($this->itemCollectionMock);
  75. $this->itemCollectionMock->expects($this->once())
  76. ->method('getItems')
  77. ->willReturn($items);
  78. $this->assertEquals($items, $this->block->getItems());
  79. }
  80. }