28 private $objectManager;
33 private $creditmemoFactory;
41 $this->creditmemoFactory = $this->objectManager->create(CreditmemoFactory::class);
54 $order = $this->getOrder(
'100000001');
55 $creditmemoData = $this->prepareCreditMemoData(
$order, $creditmemoData);
57 self::assertEquals($expectedQty,
$creditmemo->getTotalQty(),
'Creditmemo has wrong total qty.');
69 self::ORDER_ITEM_ID_PLACEHOLDER .
'2' => 2,
70 self::ORDER_ITEM_ID_PLACEHOLDER .
'3' => 10,
78 self::ORDER_ITEM_ID_PLACEHOLDER .
'1' => 2,
79 self::ORDER_ITEM_ID_PLACEHOLDER .
'2' => 2,
80 self::ORDER_ITEM_ID_PLACEHOLDER .
'3' => 10,
97 $invoice = $this->getInvoice(
'100000001');
99 self::assertEquals(14,
$creditmemo->getTotalQty(),
'Creditmemo has wrong total qty.');
109 private function prepareCreditMemoData(
Order $order, array $creditmemoData): array
113 foreach ($creditmemoData[
'qtys'] as $key =>
$item) {
116 $creditmemoData[
'qtys'] =
$result;
118 return $creditmemoData;
127 private function prepareOrderItemKey($key)
129 return str_replace(self::ORDER_ITEM_ID_PLACEHOLDER,
'', $key) - 1;
138 private function getOrder(
string $incrementId): Order
141 $order = $this->objectManager->create(Order::class);
142 $order->loadByIncrementId($incrementId);
153 private function getInvoice(
string $incrementId): Invoice
158 ->addFilter(
'increment_id', $incrementId)
161 $repository = $this->objectManager->get(InvoiceRepositoryInterface::class);
const ORDER_ITEM_ID_PLACEHOLDER
testCreateByOrder(array $creditmemoData, $expectedQty)
createByOrderDataProvider()
static getObjectManager()