Skip to content

Commit 1d47699

Browse files
Merge pull request #6091 from engcom-Foxtrot/MC-37121
MC-37121: Deleted category still shown as available Category during product creation.
2 parents 5497d1b + 4cfd010 commit 1d47699

File tree

3 files changed

+75
-9
lines changed

3 files changed

+75
-9
lines changed
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
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="AdminDeletedCategoryNotShownAsAvailableOnProductPageTest">
12+
<annotations>
13+
<features value="Catalog"/>
14+
<stories value="Delete categories"/>
15+
<title value="Deleted Category not shown as available on Product page"/>
16+
<description value="Deleted category not shown as available Category on Product edit page"/>
17+
<severity value="MAJOR"/>
18+
<testCaseId value="MC-37121"/>
19+
<group value="Catalog"/>
20+
</annotations>
21+
<before>
22+
<createData entity="_defaultCategory" stepKey="createCategory"/>
23+
<createData entity="_defaultProduct" stepKey="createProduct">
24+
<requiredEntity createDataKey="createCategory"/>
25+
</createData>
26+
27+
<actionGroup ref="AdminLoginActionGroup" stepKey="logInAsAdmin"/>
28+
</before>
29+
<after>
30+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logoutFromAdmin"/>
31+
32+
<deleteData createDataKey="createProduct" stepKey="deleteProduct"/>
33+
<deleteData createDataKey="createCategory" stepKey="deleteCategory"/>
34+
</after>
35+
36+
<!-- Create Category -->
37+
<actionGroup ref="GoToCreateCategoryPageActionGroup" stepKey="goToCreateCategoryPage"/>
38+
<actionGroup ref="FillCategoryNameAndUrlKeyAndSaveActionGroup" stepKey="fillCategoryForm">
39+
<argument name="categoryName" value="additional"/>
40+
<argument name="categoryUrlKey" value=""/>
41+
</actionGroup>
42+
43+
<!-- Check if Category present on Product page -->
44+
<actionGroup ref="AdminProductPageOpenByIdActionGroup" stepKey="navigateToProductPage">
45+
<argument name="productId" value="$$createProduct.id$$"/>
46+
</actionGroup>
47+
<waitForPageLoad time="60" stepKey="waitForProductPageLoad"/>
48+
<actionGroup ref="AdminProductFormCategoryExistInCategoryListActionGroup" stepKey="checkExistCategoryInList">
49+
<argument name="categoryName" value="$$createCategory.name$$"/>
50+
</actionGroup>
51+
52+
<!-- Delete Category -->
53+
<actionGroup ref="AdminDeleteCategoryByNameActionGroup" stepKey="deleteAdditionalCategory">
54+
<argument name="categoryName" value="additional"/>
55+
</actionGroup>
56+
57+
<!-- Check if Category absent on Product page -->
58+
<actionGroup ref="AdminProductPageOpenByIdActionGroup" stepKey="navigateToProductPageAfterDelete">
59+
<argument name="productId" value="$$createProduct.id$$"/>
60+
</actionGroup>
61+
<waitForPageLoad time="60" stepKey="waitForProductPageLoadAfterDelete"/>
62+
<actionGroup ref="AdminProductFormCategoryNotExistInCategoryListActionGroup" stepKey="checkNotExistCategoryInList">
63+
<argument name="categoryName" value="additional"/>
64+
</actionGroup>
65+
</test>
66+
</tests>

lib/internal/Magento/Framework/App/Cache/FlushCacheByTags.php

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,15 +77,17 @@ public function aroundSave(AbstractResource $subject, \Closure $proceed, Abstrac
7777
* Clean cache on delete object
7878
*
7979
* @param AbstractResource $subject
80-
* @param \Closure $proceed
80+
* @param AbstractResource $result
8181
* @param AbstractModel $object
8282
* @return AbstractResource
8383
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
8484
*/
85-
public function aroundDelete(AbstractResource $subject, \Closure $proceed, AbstractModel $object): AbstractResource
86-
{
85+
public function afterDelete(
86+
AbstractResource $subject,
87+
AbstractResource $result,
88+
AbstractModel $object
89+
): AbstractResource {
8790
$tags = $this->tagResolver->getTags($object);
88-
$result = $proceed($object);
8991
$this->cleanCacheByTags($tags);
9092

9193
return $result;

lib/internal/Magento/Framework/App/Test/Unit/Cache/FlushCacheByTagsTest.php

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ function () use ($resource) {
8585
/**
8686
* @return void
8787
*/
88-
public function testAroundDelete(): void
88+
public function testAfterDelete(): void
8989
{
9090
$resource = $this->getMockBuilder(AbstractResource::class)
9191
->disableOriginalConstructor()
@@ -95,11 +95,9 @@ public function testAroundDelete(): void
9595
->getMockForAbstractClass();
9696
$this->tagResolver->expects($this->atLeastOnce())->method('getTags')->with($model)->willReturn([]);
9797

98-
$result = $this->plugin->aroundDelete(
98+
$result = $this->plugin->afterDelete(
99+
$resource,
99100
$resource,
100-
function () use ($resource) {
101-
return $resource;
102-
},
103101
$model
104102
);
105103

0 commit comments

Comments
 (0)