33 private $creditmemoMock;
38 private $stockManagementMock;
43 private $stockIndexerProcessorMock;
48 private $priceIndexerMock;
53 private $storeManagerMock;
58 private $orderItemRepositoryMock;
63 private $creditmemoItemMock;
66 private $returnProcessor;
69 private $orderItemMock;
76 $this->stockManagementMock = $this->getMockBuilder(StockManagementInterface::class)
77 ->disableOriginalConstructor()
79 $this->stockIndexerProcessorMock = $this->getMockBuilder(
80 \
Magento\CatalogInventory\Model\Indexer\Stock\Processor::class
81 )->disableOriginalConstructor()
83 $this->priceIndexerMock = $this->getMockBuilder(\
Magento\Catalog\Model\Indexer\Product\Price\Processor::class)
84 ->disableOriginalConstructor()
86 $this->storeManagerMock = $this->getMockBuilder(StoreManagerInterface::class)
87 ->disableOriginalConstructor()
89 $this->orderItemRepositoryMock = $this->getMockBuilder(OrderRepositoryInterface::class)
90 ->disableOriginalConstructor()
92 $this->orderItemRepositoryMock = $this->getMockBuilder(OrderItemRepositoryInterface::class)
93 ->disableOriginalConstructor()
95 $this->orderMock = $this->getMockBuilder(OrderInterface::class)
96 ->disableOriginalConstructor()
98 $this->creditmemoMock = $this->getMockBuilder(CreditmemoInterface::class)
99 ->disableOriginalConstructor()
101 $this->creditmemoItemMock = $this->getMockBuilder(CreditmemoItemInterface::class)
102 ->disableOriginalConstructor()
104 $this->orderItemMock = $this->getMockBuilder(OrderItemInterface::class)
105 ->disableOriginalConstructor()
107 $this->storeMock = $this->getMockBuilder(StoreInterface::class)
108 ->disableOriginalConstructor()
112 $this->stockManagementMock,
113 $this->stockIndexerProcessorMock,
114 $this->priceIndexerMock,
115 $this->storeManagerMock,
116 $this->orderItemRepositoryMock
124 $returnToStockItems = [$orderItemId];
130 $this->creditmemoMock->expects($this->once())
132 ->willReturn([$this->creditmemoItemMock]);
134 $this->creditmemoItemMock->expects($this->exactly(2))
135 ->method(
'getOrderItemId')
136 ->willReturn($orderItemId);
138 $this->creditmemoItemMock->expects($this->once())
139 ->method(
'getProductId')
142 $this->orderItemRepositoryMock->expects($this->once())
145 ->willReturn($this->orderItemMock);
147 $this->orderMock->expects($this->once())
148 ->method(
'getStoreId')
151 $this->storeManagerMock->expects($this->once())
154 ->willReturn($this->storeMock);
156 $this->storeMock->expects($this->once())
157 ->method(
'getWebsiteId')
158 ->willReturn($webSiteId);
160 $this->stockManagementMock->expects($this->once())
161 ->method(
'backItemQty')
165 $this->stockIndexerProcessorMock->expects($this->once())
166 ->method(
'reindexList')
169 $this->priceIndexerMock->expects($this->once())
170 ->method(
'reindexList')
173 $this->orderItemMock->expects($this->once())
174 ->method(
'getParentItemId')
175 ->willReturn($parentItemId);
177 $this->creditmemoItemMock->expects($this->once())
181 $this->returnProcessor->execute($this->creditmemoMock, $this->orderMock, $returnToStockItems);