TrackTest.php 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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\Order\Shipment;
  7. class TrackTest extends \PHPUnit\Framework\TestCase
  8. {
  9. /**
  10. * @var \Magento\Sales\Model\Order\Shipment\Track
  11. */
  12. protected $_model;
  13. protected function setUp()
  14. {
  15. $objectManagerHelper = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
  16. $arguments = [
  17. 'shipmentRepository' => $this->createMock(\Magento\Sales\Model\Order\ShipmentRepository::class),
  18. ];
  19. $this->_model = $objectManagerHelper->getObject(\Magento\Sales\Model\Order\Shipment\Track::class, $arguments);
  20. }
  21. public function testAddData()
  22. {
  23. $number = 123;
  24. $this->assertNull($this->_model->getTrackNumber());
  25. $this->_model->addData(['number' => $number, 'test' => true]);
  26. $this->assertTrue($this->_model->getTest());
  27. $this->assertEquals($number, $this->_model->getTrackNumber());
  28. }
  29. public function testGetStoreId()
  30. {
  31. $storeId = 10;
  32. $storeObject = new \Magento\Framework\DataObject(['id' => $storeId]);
  33. $shipmentMock = $this->createPartialMock(\Magento\Sales\Model\Order\Shipment::class, ['getStore', '__wakeup']);
  34. $shipmentMock->expects($this->once())->method('getStore')->will($this->returnValue($storeObject));
  35. $this->_model->setShipment($shipmentMock);
  36. $this->assertEquals($storeId, $this->_model->getStoreId());
  37. }
  38. public function testSetGetNumber()
  39. {
  40. $this->assertNull($this->_model->getNumber());
  41. $this->assertNull($this->_model->getTrackNumber());
  42. $this->_model->setNumber('test');
  43. $this->assertEquals('test', $this->_model->getNumber());
  44. $this->assertEquals('test', $this->_model->getTrackNumber());
  45. }
  46. /**
  47. * @dataProvider isCustomDataProvider
  48. * @param bool $expectedResult
  49. * @param string $carrierCodeToSet
  50. */
  51. public function testIsCustom($expectedResult, $carrierCodeToSet)
  52. {
  53. $this->_model->setCarrierCode($carrierCodeToSet);
  54. $this->assertEquals($expectedResult, $this->_model->isCustom());
  55. }
  56. /**
  57. * @return array
  58. */
  59. public static function isCustomDataProvider()
  60. {
  61. return [[true, \Magento\Sales\Model\Order\Shipment\Track::CUSTOM_CARRIER_CODE], [false, 'ups']];
  62. }
  63. }