ItemRepositoryTest.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. declare(strict_types=1);
  7. namespace Magento\Sales\Model\Order;
  8. class ItemRepositoryTest extends \PHPUnit\Framework\TestCase
  9. {
  10. /** @var \Magento\Sales\Model\Order */
  11. private $order;
  12. /** @var \Magento\Sales\Api\OrderItemRepositoryInterface */
  13. private $orderItemRepository;
  14. /** @var \Magento\Framework\Api\SearchCriteriaBuilder */
  15. private $searchCriteriaBuilder;
  16. protected function setUp()
  17. {
  18. $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
  19. $this->order = $objectManager->create(\Magento\Sales\Model\Order::class);
  20. $this->orderItemRepository = $objectManager->create(\Magento\Sales\Api\OrderItemRepositoryInterface::class);
  21. $this->searchCriteriaBuilder = $objectManager->create(\Magento\Framework\Api\SearchCriteriaBuilder::class);
  22. }
  23. /**
  24. * @magentoDataFixture Magento/Sales/_files/order_configurable_product.php
  25. */
  26. public function testAddOrderItemParent()
  27. {
  28. $this->order->load('100000001', 'increment_id');
  29. foreach ($this->order->getItems() as $item) {
  30. if ($item->getProductType() === \Magento\Catalog\Model\Product\Type::TYPE_SIMPLE) {
  31. $orderItem = $this->orderItemRepository->get($item->getItemId());
  32. $this->assertInstanceOf(\Magento\Sales\Api\Data\OrderItemInterface::class, $orderItem->getParentItem());
  33. }
  34. }
  35. $itemList = $this->orderItemRepository->getList(
  36. $this->searchCriteriaBuilder->addFilter('order_id', $this->order->getId())->create()
  37. );
  38. foreach ($itemList->getItems() as $item) {
  39. if ($item->getProductType() === \Magento\Catalog\Model\Product\Type::TYPE_SIMPLE) {
  40. $this->assertInstanceOf(\Magento\Sales\Api\Data\OrderItemInterface::class, $item->getParentItem());
  41. }
  42. }
  43. }
  44. }