Skip to content

Commit c1b0e6d

Browse files
committed
MC-42485: Inventory reservation compensation is not recreated for canceled orders
1 parent ed2ffad commit c1b0e6d

File tree

2 files changed

+52
-0
lines changed

2 files changed

+52
-0
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
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\Sales\Api\Data\OrderInterfaceFactory;
9+
use Magento\Sales\Model\Order;
10+
use Magento\TestFramework\Helper\Bootstrap;
11+
use Magento\TestFramework\Workaround\Override\Fixture\Resolver;
12+
use Magento\Sales\Api\OrderManagementInterface;
13+
14+
Resolver::getInstance()->requireDataFixture('Magento/Sales/_files/order.php');
15+
16+
$objectManager = Bootstrap::getObjectManager();
17+
/** @var Order $order */
18+
$order = $objectManager->get(OrderInterfaceFactory::class)->create()->loadByIncrementId('100000001');
19+
/** @var OrderManagementInterface $orderManagement */
20+
$orderManagement = $objectManager->create(OrderManagementInterface::class);
21+
$orderManagement->place($order);
22+
$orderManagement->cancel($order->getEntityId());
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
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\Framework\Registry;
9+
use Magento\Sales\Api\Data\OrderInterface;
10+
use Magento\Sales\Api\Data\OrderInterfaceFactory;
11+
use Magento\Sales\Api\OrderRepositoryInterface;
12+
use Magento\TestFramework\Helper\Bootstrap;
13+
use Magento\TestFramework\Workaround\Override\Fixture\Resolver;
14+
15+
$objectManager = Bootstrap::getObjectManager();
16+
/** @var OrderRepositoryInterface $orderRepository */
17+
$orderRepository = $objectManager->get(OrderRepositoryInterface::class);
18+
/** @var OrderInterface $order */
19+
$order = $objectManager->get(OrderInterfaceFactory::class)->create()->loadByIncrementId('100001111');
20+
/** @var Registry $registry */
21+
$registry = $objectManager->get(Registry::class);
22+
$registry->unregister('isSecureArea');
23+
$registry->register('isSecureArea', true);
24+
25+
$orderRepository->delete($order);
26+
27+
$registry->unregister('isSecureArea');
28+
$registry->register('isSecureArea', false);
29+
30+
Resolver::getInstance()->requireDataFixture('Magento/Catalog/_files/product_simple_rollback.php');

0 commit comments

Comments
 (0)