Skip to content

Commit 76324ac

Browse files
ENGCOM-7798: Credit Memo with Zero Total: Order Status 'Complete' and not 'Closed' #29023
- Merge Pull Request #29023 from engcom-Echo/magento2:fix-22825 - Merged commits: 1. 8ab5415 2. e2b578d 3. eff9488 4. 0d3cc83 5. f33150d
2 parents 9b0e514 + f33150d commit 76324ac

File tree

3 files changed

+72
-1
lines changed

3 files changed

+72
-1
lines changed

app/code/Magento/Catalog/Test/Mftf/Data/ProductData.xml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1252,6 +1252,20 @@
12521252
<requiredEntity type="product_extension_attribute">EavStock777</requiredEntity>
12531253
<requiredEntity type="custom_attribute_array">CustomAttributeCategoryIds</requiredEntity>
12541254
</entity>
1255+
<entity name="SimpleProduct_zero" type="product">
1256+
<data key="sku" unique="suffix">testSku</data>
1257+
<data key="type_id">simple</data>
1258+
<data key="attribute_set_id">4</data>
1259+
<data key="visibility">4</data>
1260+
<data key="name" unique="suffix">testProductName</data>
1261+
<data key="price">0.00</data>
1262+
<data key="urlKey" unique="suffix">testurlkey</data>
1263+
<data key="status">1</data>
1264+
<data key="quantity">777</data>
1265+
<data key="weight">1</data>
1266+
<requiredEntity type="product_extension_attribute">EavStock777</requiredEntity>
1267+
<requiredEntity type="custom_attribute_array">CustomAttributeCategoryIds</requiredEntity>
1268+
</entity>
12551269
<entity name="ApiSimpleOneQty10" type="product2">
12561270
<data key="sku" unique="suffix">api-simple-product</data>
12571271
<data key="type_id">simple</data>

app/code/Magento/Sales/Model/Order.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -716,7 +716,7 @@ private function canCreditmemoForZeroTotal($totalRefunded)
716716
$hasDueAmount = $this->canInvoice() && ($checkAmtTotalPaid);
717717
//case when paid amount is refunded and order has creditmemo created
718718
$creditmemos = ($this->getCreditmemosCollection() === false) ?
719-
true : (count($this->getCreditmemosCollection()) > 0);
719+
true : ($this->_memoCollectionFactory->create()->setOrderFilter($this)->getTotalCount() > 0);
720720
$paidAmtIsRefunded = $this->getTotalRefunded() == $totalPaid && $creditmemos;
721721
if (($hasDueAmount || $paidAmtIsRefunded) ||
722722
(!$checkAmtTotalPaid &&
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
9+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
11+
<test name="AdminCreateCreditMemoWithZeroPriceCheckOrderStatusTest">
12+
<annotations>
13+
<stories value="Github issue: #22762 Credit Memo with Zero Total: Order Status 'Complete' and not 'Closed'"/>
14+
<title value="Create Credit Memo with zero total."/>
15+
<description value="Assert order status after create CreditMemo with zero total."/>
16+
<severity value="MAJOR"/>
17+
<group value="sales"/>
18+
<testCaseId value="MC-35848"/>
19+
</annotations>
20+
<before>
21+
<actionGroup ref="AdminLoginActionGroup" stepKey="LoginAsAdmin"/>
22+
<createData entity="Simple_US_Customer" stepKey="createCustomer"/>
23+
<createData entity="_defaultCategory" stepKey="createCategory"/>
24+
<createData entity="SimpleProduct_zero" stepKey="createProduct">
25+
<requiredEntity createDataKey="createCategory"/>
26+
</createData>
27+
<createData entity="FreeShippinMethodConfig" stepKey="enableFreeShipping"/>
28+
</before>
29+
<after>
30+
<deleteData createDataKey="createCustomer" stepKey="deleteCustomer"/>
31+
<deleteData createDataKey="createCategory" stepKey="deleteCategory"/>
32+
<deleteData createDataKey="createProduct" stepKey="deleteProduct"/>
33+
<createData entity="FreeShippingMethodDisableConfig" stepKey="disableFreeShipping"/>
34+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
35+
</after>
36+
37+
<actionGroup ref="NavigateToNewOrderPageExistingCustomerActionGroup" stepKey="navigateToNewOrderPage">
38+
<argument name="customer" value="$createCustomer$"/>
39+
</actionGroup>
40+
<actionGroup ref="AddSimpleProductToOrderActionGroup" stepKey="addSecondProduct">
41+
<argument name="product" value="$createProduct$"/>
42+
<argument name="productQty" value="1"/>
43+
</actionGroup>
44+
<actionGroup ref="FillOrderCustomerInformationActionGroup" stepKey="fillCustomerInfo">
45+
<argument name="customer" value="$createCustomer$"/>
46+
<argument name="address" value="US_Address_TX"/>
47+
</actionGroup>
48+
<actionGroup ref="OrderSelectFreeShippingActionGroup" stepKey="selectFlatRate"/>
49+
<actionGroup ref="AdminSubmitOrderActionGroup" stepKey="submitOrder"/>
50+
51+
<actionGroup ref="AdminCreateInvoiceAndCreditMemoActionGroup" stepKey="createCreditMemo"/>
52+
53+
<actionGroup ref="AdminOrderViewCheckStatusActionGroup" stepKey="seeOrderClose">
54+
<argument name="status" value="Closed"/>
55+
</actionGroup>
56+
</test>
57+
</tests>

0 commit comments

Comments
 (0)