Skip to content

Commit fee7c0c

Browse files
committed
Code refactoring, fixture has been updated.
1 parent b213915 commit fee7c0c

File tree

3 files changed

+89
-8
lines changed

3 files changed

+89
-8
lines changed

dev/tests/integration/testsuite/Magento/Shipping/Block/Adminhtml/Order/AddToPackageTest.php

Lines changed: 31 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,15 @@
66
namespace Magento\Shipping\Block\Adminhtml\Order;
77

88
use Magento\Backend\Block\Template;
9+
use Magento\Framework\Api\SearchCriteria;
10+
use Magento\Framework\Api\SearchCriteriaBuilder;
911
use Magento\Framework\ObjectManagerInterface;
1012
use Magento\Framework\Registry;
11-
use Magento\Sales\Api\Data\OrderInterfaceFactory;
13+
use Magento\Sales\Api\Data\OrderInterface;
1214
use Magento\Sales\Api\Data\ShipmentTrackInterface;
1315
use Magento\TestFramework\Helper\Bootstrap;
1416
use PHPUnit\Framework\TestCase;
17+
use Magento\Sales\Api\OrderRepositoryInterface;
1518

1619
/**
1720
* Class verifies packaging popup.
@@ -20,34 +23,54 @@
2023
*/
2124
class AddToPackageTest extends TestCase
2225
{
26+
/**
27+
* @var OrderRepositoryInterface
28+
*/
29+
private $orderRepository;
30+
2331
/** @var ObjectManagerInterface */
2432
private $objectManager;
2533

2634
/** @var Registry */
2735
private $registry;
28-
/**
29-
* @var OrderInterfaceFactory|mixed
30-
*/
31-
private $orderFactory;
3236

3337
protected function setUp(): void
3438
{
3539
$this->objectManager = Bootstrap::getObjectManager();
3640
$this->registry = $this->objectManager->get(Registry::class);
37-
$this->orderFactory = $this->objectManager->get(OrderInterfaceFactory::class);
41+
$this->orderRepository = $this->objectManager->get(OrderRepositoryInterface::class);
42+
}
43+
44+
/**
45+
* Loads order entity by provided order increment ID.
46+
*
47+
* @param string $incrementId
48+
* @return OrderInterface
49+
*/
50+
private function getOrderByIncrementId(string $incrementId) : OrderInterface
51+
{
52+
/** @var SearchCriteria $searchCriteria */
53+
$searchCriteria = $this->objectManager->get(SearchCriteriaBuilder::class)
54+
->addFilter('increment_id', $incrementId)
55+
->create();
56+
57+
$items = $this->orderRepository->getList($searchCriteria)
58+
->getItems();
59+
60+
return array_pop($items);
3861
}
3962

4063
/**
4164
* Test that Packaging popup renders
4265
*
43-
* @magentoDataFixture Magento/GraphQl/Sales/_files/customer_order_with_ups_shipping.php
66+
* @magentoDataFixture Magento/Shipping/_files/shipping_with_carrier_data.php
4467
*/
4568
public function testGetCommentsHtml()
4669
{
4770
/** @var Template $block */
4871
$block = $this->objectManager->get(Packaging::class);
4972

50-
$order = $this->orderFactory->create()->loadByIncrementId('100000001');
73+
$order = $this->getOrderByIncrementId('100000001');
5174

5275
/** @var ShipmentTrackInterface $track */
5376
$shipment = $order->getShipmentsCollection()->getFirstItem();
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
declare(strict_types=1);
7+
8+
use Magento\Catalog\Api\ProductRepositoryInterface;
9+
use Magento\Sales\Api\Data\OrderInterfaceFactory;
10+
use Magento\Sales\Api\OrderRepositoryInterface;
11+
use Magento\Sales\Model\Order;
12+
use Magento\Sales\Model\Order\ShipmentFactory;
13+
use Magento\TestFramework\Helper\Bootstrap;
14+
use Magento\TestFramework\Workaround\Override\Fixture\Resolver;
15+
use Magento\Framework\DB\Transaction;
16+
17+
Resolver::getInstance()->requireDataFixture('Magento/Sales/_files/order_with_customer.php');
18+
19+
$objectManager = Bootstrap::getObjectManager();
20+
/** @var Transaction $transaction */
21+
$transaction = $objectManager->get(Transaction::class);
22+
/** @var ProductRepositoryInterface $productRepository */
23+
$productRepository = $objectManager->create(ProductRepositoryInterface::class);
24+
$product = $productRepository->get('simple');
25+
/** @var Order $order */
26+
$order = $objectManager->get(OrderInterfaceFactory::class)->create()->loadByIncrementId('100000001');
27+
$order->setShippingDescription('UPS Next Day Air')
28+
->setShippingMethod('ups_11')
29+
->setShippingAmount(0)
30+
->setCouponCode('1234567890')
31+
->setDiscountDescription('1234567890');
32+
33+
/** @var OrderRepositoryInterface $orderRepository */
34+
$orderRepository = $objectManager->create(OrderRepositoryInterface::class);
35+
$orderRepository->save($order);
36+
37+
$shipmentItems = [];
38+
foreach ($order->getItems() as $orderItem) {
39+
$shipmentItems[$orderItem->getId()] = $orderItem->getQtyOrdered();
40+
}
41+
$tracking = [
42+
'carrier_code' => 'ups',
43+
'title' => 'United Parcel Service',
44+
'number' => '987654321'
45+
];
46+
47+
$shipment = $objectManager->get(ShipmentFactory::class)->create($order, $shipmentItems, [$tracking]);
48+
$shipment->register();
49+
$transaction->addObject($shipment)->addObject($order)->save();
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
use Magento\TestFramework\Workaround\Override\Fixture\Resolver;
8+
9+
Resolver::getInstance()->requireDataFixture('Magento/Sales/_files/order_with_customer_rollback.php');

0 commit comments

Comments
 (0)