ShipmentTest.php 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Shipping\Test\Unit\Model;
  7. use \Magento\Sales\Api\OrderRepositoryInterface;
  8. use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper;
  9. /**
  10. * Class ShipmentTest
  11. */
  12. class ShipmentTest extends \PHPUnit\Framework\TestCase
  13. {
  14. /**
  15. * @var \Magento\Sales\Api\OrderRepositoryInterface |\PHPUnit_Framework_MockObject_MockObject
  16. */
  17. protected $orderRepository;
  18. /**
  19. * @var \Magento\Sales\Model\Order\Shipment
  20. */
  21. protected $shipment;
  22. protected function setUp()
  23. {
  24. $this->orderRepository = $this->createMock(\Magento\Sales\Api\OrderRepositoryInterface::class);
  25. $objectManagerHelper = new ObjectManagerHelper($this);
  26. $arguments = [
  27. 'context' => $this->createMock(\Magento\Framework\Model\Context::class),
  28. 'registry' => $this->createMock(\Magento\Framework\Registry::class),
  29. 'localeDate' => $this->createMock(
  30. \Magento\Framework\Stdlib\DateTime\TimezoneInterface::class
  31. ),
  32. 'dateTime' => $this->createMock(\Magento\Framework\Stdlib\DateTime::class),
  33. 'orderRepository' => $this->orderRepository,
  34. 'shipmentItemCollectionFactory' => $this->createMock(
  35. \Magento\Sales\Model\ResourceModel\Order\Shipment\Item\CollectionFactory::class
  36. ),
  37. 'trackCollectionFactory' => $this->createMock(
  38. \Magento\Sales\Model\ResourceModel\Order\Shipment\Track\CollectionFactory::class
  39. ),
  40. 'commentFactory' => $this->createMock(\Magento\Sales\Model\Order\Shipment\CommentFactory::class),
  41. 'commentCollectionFactory' => $this->createMock(
  42. \Magento\Sales\Model\ResourceModel\Order\Shipment\Comment\CollectionFactory::class
  43. ),
  44. ];
  45. $this->shipment = $objectManagerHelper->getObject(
  46. \Magento\Sales\Model\Order\Shipment::class,
  47. $arguments
  48. );
  49. }
  50. public function testGetOrder()
  51. {
  52. $orderId = 100000041;
  53. $this->shipment->setOrderId($orderId);
  54. $entityName = 'shipment';
  55. $order = $this->createPartialMock(
  56. \Magento\Sales\Model\Order::class,
  57. ['load', 'setHistoryEntityName', '__wakeUp']
  58. );
  59. $this->shipment->setOrderId($orderId);
  60. $order->expects($this->atLeastOnce())
  61. ->method('setHistoryEntityName')
  62. ->with($entityName)
  63. ->will($this->returnSelf());
  64. $this->orderRepository->expects($this->atLeastOnce())
  65. ->method('get')
  66. ->will($this->returnValue($order));
  67. $this->assertEquals($order, $this->shipment->getOrder());
  68. }
  69. public function testGetEntityType()
  70. {
  71. $this->assertEquals('shipment', $this->shipment->getEntityType());
  72. }
  73. }