24 private $objectManager;
34 private $orderItemMock;
38 $this->objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
40 $this->orderMock = $this->getMockBuilder(\
Magento\Sales\Api\
Data\OrderInterface::class)
41 ->disableOriginalConstructor()
42 ->setMethods([
'getStatus',
'getItems'])
43 ->getMockForAbstractClass();
45 $this->orderItemMock = $this->getMockBuilder(\
Magento\Sales\Api\
Data\OrderItemInterface::class)
46 ->disableOriginalConstructor()
47 ->setMethods([
'getQtyToShip',
'getLockedDoShip'])
48 ->getMockForAbstractClass();
50 $this->model = new \Magento\Sales\Model\Order\Validation\CanShip();
60 $this->orderMock->expects($this->any())
63 $this->orderMock->expects($this->once())
65 ->willReturn(
'status');
66 $this->orderMock->expects($this->never())
69 [
__(
'A shipment cannot be created when an order has a status of %1',
'status')],
70 $this->model->validate($this->orderMock)
89 $this->orderMock->expects($this->any())
93 $this->orderMock->expects($this->once())
97 $this->assertNotEmpty(
98 $this->model->validate($this->orderMock)
109 public function testCanShip($qtyToShipment, $itemLockedDoShipment, $expectedResult)
111 $this->orderMock->expects($this->any())
115 $items = [$this->orderItemMock];
116 $this->orderMock->expects($this->once())
119 $this->orderItemMock->expects($this->any())
120 ->method(
'getQtyToShip')
121 ->willReturn($qtyToShipment);
122 $this->orderItemMock->expects($this->any())
123 ->method(
'getLockedDoShip')
124 ->willReturn($itemLockedDoShipment);
128 $this->model->validate($this->orderMock)
140 [0,
null, [
__(
'The order does not allow a shipment to be created.')]],
141 [-1,
null, [
__(
'The order does not allow a shipment to be created.')]],
142 [1,
true, [
__(
'The order does not allow a shipment to be created.')]],
testCanShipWrongState($state)
canShipWrongStateDataProvider()
testCanShip($qtyToShipment, $itemLockedDoShipment, $expectedResult)
const STATE_PAYMENT_REVIEW