|
5 | 5 | */ |
6 | 6 | declare(strict_types=1); |
7 | 7 |
|
8 | | -namespace Magento\SalesOrdersDataExporter\Tests\Integration; |
| 8 | +namespace Magento\SalesOrdersDataExporter\Test\Integration; |
9 | 9 |
|
10 | 10 | use Magento\Sales\Api\Data\OrderInterface; |
11 | 11 | use Magento\Sales\Api\Data\OrderInterfaceFactory; |
|
20 | 20 | use Magento\Sales\Model\Order\Payment\Transaction\Repository as TransactionRepository; |
21 | 21 |
|
22 | 22 | /** |
23 | | - * Tests for orders data exporter functionality |
| 23 | + * Test for orders data exporter functionality |
24 | 24 | * |
25 | 25 | * @magentoDbIsolation enabled |
26 | 26 | */ |
@@ -280,8 +280,7 @@ public function orderFullWorkflowDataProvider(): array |
280 | 280 | 'order_data', |
281 | 281 | 'items', |
282 | 282 | 'shipments', |
283 | | - 'invoice', |
284 | | - 'creditmemo' |
| 283 | + 'invoice' |
285 | 284 | ] |
286 | 285 | ] |
287 | 286 | ]; |
@@ -373,6 +372,9 @@ public function orderWithAdditionalInformationDataProvider(): array |
373 | 372 | /** |
374 | 373 | * @param array $expectedOrderData |
375 | 374 | * @param array $feedData |
| 375 | + * |
| 376 | + * @SuppressWarnings(PHPMD.CyclomaticComplexity) |
| 377 | + * @SuppressWarnings(PHPMD.NPathComplexity) |
376 | 378 | */ |
377 | 379 | private function checkFields(array $expectedOrderData, array $feedData): void |
378 | 380 | { |
@@ -401,9 +403,11 @@ private function checkFields(array $expectedOrderData, array $feedData): void |
401 | 403 | } |
402 | 404 | if ($expectedField === 'invoices') { |
403 | 405 | $uncheckedIds = \array_flip(array_keys($expectedData)); |
404 | | - foreach ($feedData[$expectedField] as $itemData) { |
405 | | - $this->checkFields($expectedData[$itemData['entityId']], $itemData); |
406 | | - unset($uncheckedIds[$itemData['entityId']]); |
| 406 | + foreach ($feedData['invoices'] as $itemData) { |
| 407 | + $invoiceId = $itemData['entityId']; |
| 408 | + $expectedInvoiceData = $expectedData[$invoiceId]; |
| 409 | + $this->checkFields($expectedInvoiceData, $itemData); |
| 410 | + unset($uncheckedIds[$invoiceId]); |
407 | 411 | } |
408 | 412 | self::assertEmpty($uncheckedIds, "Some invoice items are missed in feed"); |
409 | 413 | continue; |
@@ -442,7 +446,7 @@ private function checkFields(array $expectedOrderData, array $feedData): void |
442 | 446 | ) |
443 | 447 | ); |
444 | 448 | } else { |
445 | | - $this->checkFields($expectedOrderData[$expectedField], $feedData[$expectedField]); |
| 449 | + $this->checkFields($expectedData, $feedData[$expectedField]); |
446 | 450 | } |
447 | 451 | } |
448 | 452 | } |
@@ -661,16 +665,28 @@ private function getExpectedOrderItemsData(OrderInterface $order): array |
661 | 665 | private function getExpectedInvoicesData(OrderInterface $order): array |
662 | 666 | { |
663 | 667 | $invoices = []; |
664 | | - /** @var Invoice $invoiceItem */ |
665 | | - foreach ($order->getInvoiceCollection() as $invoiceItem) { |
666 | | - $invoiceId = $invoiceItem->getId(); |
| 668 | + |
| 669 | + /** @var Invoice $invoice */ |
| 670 | + foreach ($order->getInvoiceCollection() as $invoice) { |
| 671 | + $invoiceId = $invoice->getId(); |
| 672 | + $invoiceItems = []; |
| 673 | + /** @var Invoice\Item $invoiceItem */ |
| 674 | + foreach ($invoice->getItems() as $invoiceItem) { |
| 675 | + $orderItemId = $invoiceItem->getOrderItemId(); |
| 676 | + $itemUuid = $this->uuidResource->getAssignedIds([$orderItemId], 'order_item')[$orderItemId]; |
| 677 | + $invoiceItems[$orderItemId] = [ |
| 678 | + 'orderItemId' => ['id' => $itemUuid], |
| 679 | + 'qtyInvoiced' => $invoiceItem->getQty() |
| 680 | + ]; |
| 681 | + } |
667 | 682 | $invoices[$invoiceId] = [ |
668 | 683 | 'entityId' => $invoiceId, |
669 | 684 | 'isUsedForRefund' => false, |
670 | | - 'grandTotal' => $invoiceItem->getBaseGrandTotal() |
| 685 | + 'grandTotal' => $invoice->getBaseGrandTotal(), |
| 686 | + 'createdAt' => $this->convertDate($invoice->getCreatedAt()), |
| 687 | + 'invoiceItems' => $invoiceItems |
671 | 688 | ]; |
672 | 689 | } |
673 | | - |
674 | 690 | return $invoices; |
675 | 691 | } |
676 | 692 |
|
@@ -737,7 +753,7 @@ private function getExpectedShipmentData(OrderInterface $order): array |
737 | 753 |
|
738 | 754 | $shipmentId = $orderShipment->getId(); |
739 | 755 | $shipmentUuid = $this->uuidResource->getAssignedIds([$shipmentId], 'order_shipment')[$shipmentId]; |
740 | | - $expectedOrderData['shipments'][$shipmentUuid] = [ |
| 756 | + $shipments[$shipmentUuid] = [ |
741 | 757 | 'shipmentId' => ['id' => $shipmentUuid], |
742 | 758 | 'createdAt' => $this->convertDate($orderShipment->getCreatedAt()), |
743 | 759 | 'updatedAt' => $this->convertDate($orderShipment->getUpdatedAt()) |
|
0 commit comments