Skip to content

Commit b2d4e12

Browse files
Merge remote-tracking branch 'remotes/github/MAGETWO-64191' into EPAM-PR-37
2 parents a28688b + 52ddeec commit b2d4e12

File tree

4 files changed

+92
-6
lines changed

4 files changed

+92
-6
lines changed

app/code/Magento/Catalog/Test/Mftf/Section/AdminProductSEOSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,6 @@
1111
<section name="AdminProductSEOSection">
1212
<element name="sectionHeader" type="button" selector="div[data-index='search-engine-optimization']" timeout="30"/>
1313
<element name="urlKeyInput" type="input" selector="input[name='product[url_key]']"/>
14+
<element name="useDefaultUrl" type="checkbox" selector="input[name='use_default[url_key]']"/>
1415
</section>
1516
</sections>

app/code/Magento/Catalog/Test/Mftf/Section/AdminUpdateAttributesSection.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,8 @@
3838

3939
<element name="description" type="input" selector="#description"/>
4040
</section>
41+
<section name="AdminUpdateAttributesWebsiteSection">
42+
<element name="website" type="button" selector="#attributes_update_tabs_websites"/>
43+
<element name="addProductToWebsite" type="checkbox" selector="#add-products-to-website-content .website-checkbox"/>
44+
</section>
4145
</sections>

app/code/Magento/CatalogUrlRewrite/Observer/ProductToWebsiteChangeObserver.php

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@
1414
use Magento\UrlRewrite\Model\UrlPersistInterface;
1515
use Magento\UrlRewrite\Service\V1\Data\UrlRewrite;
1616

17+
/**
18+
* Observer to assign the products to website
19+
*/
1720
class ProductToWebsiteChangeObserver implements ObserverInterface
1821
{
1922
/**
@@ -69,12 +72,14 @@ public function execute(\Magento\Framework\Event\Observer $observer)
6972
$this->request->getParam('store_id', Store::DEFAULT_STORE_ID)
7073
);
7174

72-
$this->urlPersist->deleteByData([
73-
UrlRewrite::ENTITY_ID => $product->getId(),
74-
UrlRewrite::ENTITY_TYPE => ProductUrlRewriteGenerator::ENTITY_TYPE,
75-
]);
76-
if ($product->getVisibility() != Visibility::VISIBILITY_NOT_VISIBLE) {
77-
$this->urlPersist->replace($this->productUrlRewriteGenerator->generate($product));
75+
if (!empty($this->productUrlRewriteGenerator->generate($product))) {
76+
$this->urlPersist->deleteByData([
77+
UrlRewrite::ENTITY_ID => $product->getId(),
78+
UrlRewrite::ENTITY_TYPE => ProductUrlRewriteGenerator::ENTITY_TYPE,
79+
]);
80+
if ($product->getVisibility() != Visibility::VISIBILITY_NOT_VISIBLE) {
81+
$this->urlPersist->replace($this->productUrlRewriteGenerator->generate($product));
82+
}
7883
}
7984
}
8085
}
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
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" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
10+
<test name="AdminUrlForProductRewrittenCorrectlyTest">
11+
<annotations>
12+
<features value="CatalogUrlRewrite"/>
13+
<title value="Check that URL for product rewritten correctly"/>
14+
<description value="Check that URL for product rewritten correctly"/>
15+
<severity value="MAJOR"/>
16+
<testCaseId value="MAGETWO-97224"/>
17+
<useCaseId value="MAGETWO-64191"/>
18+
<group value="CatalogUrlRewrite"/>
19+
</annotations>
20+
21+
<before>
22+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
23+
24+
<!--Create product-->
25+
<createData entity="_defaultCategory" stepKey="category"/>
26+
<createData entity="ApiSimpleProduct" stepKey="createProduct">
27+
<requiredEntity createDataKey="category"/>
28+
</createData>
29+
</before>
30+
<after>
31+
<!--Delete created data-->
32+
<deleteData createDataKey="createProduct" stepKey="deleteSimpleProduct"/>
33+
<deleteData createDataKey="category" stepKey="deleteCategory"/>
34+
35+
<actionGroup ref="logout" stepKey="logout"/>
36+
</after>
37+
38+
<!--Open Created product-->
39+
<amOnPage url="{{AdminProductEditPage.url($$createProduct.id$$)}}" stepKey="amOnEditPage"/>
40+
<waitForPageLoad stepKey="waitForEditPage"/>
41+
42+
<!--Switch to Default Store view-->
43+
<actionGroup ref="SwitchToTheNewStoreView" stepKey="selectSecondStoreView">
44+
<argument name="storeViewName" value="Default Store View"/>
45+
</actionGroup>
46+
<waitForPageLoad stepKey="waitForStoreViewLoad"/>
47+
48+
<!--Set use default url-->
49+
<click selector="{{AdminProductSEOSection.sectionHeader}}" stepKey="clickOnSearchEngineOptimization"/>
50+
<waitForElementVisible selector="{{AdminProductSEOSection.useDefaultUrl}}" stepKey="waitForUseDefaultUrlCheckbox"/>
51+
<click selector="{{AdminProductSEOSection.useDefaultUrl}}" stepKey="clickUseDefaultUrlCheckbox"/>
52+
<fillField selector="{{AdminProductSEOSection.urlKeyInput}}" userInput="$$createProduct.sku$$-new" stepKey="changeUrlKey"/>
53+
<actionGroup ref="saveProductForm" stepKey="saveProduct"/>
54+
55+
<!--Select product and go toUpdate Attribute page-->
56+
<amOnPage url="{{ProductCatalogPage.url}}" stepKey="GoToCatalogPageChangingView"/>
57+
<waitForPageLoad stepKey="WaitForPageToLoadFullyChangingView"/>
58+
<actionGroup ref="filterProductGridByName" stepKey="filterBundleProductOptionsDownToName">
59+
<argument name="product" value="ApiSimpleProduct"/>
60+
</actionGroup>
61+
<click selector="{{AdminProductFiltersSection.allCheckbox}}" stepKey="ClickOnSelectAllCheckBoxChangingView"/>
62+
<click selector="{{AdminProductGridSection.bulkActionDropdown}}" stepKey="clickActionDropdown"/>
63+
<click selector="{{AdminProductGridSection.bulkActionOption('Update attributes')}}" stepKey="clickBulkUpdate"/>
64+
<waitForPageLoad stepKey="waitForUpdateAttributesPageLoad"/>
65+
<seeInCurrentUrl url="{{ProductAttributesEditPage.url}}" stepKey="seeInUrlAttributeUpdatePage"/>
66+
<click selector="{{AdminUpdateAttributesWebsiteSection.website}}" stepKey="clickWebsiteTab"/>
67+
<waitForAjaxLoad stepKey="waitForLoadWebSiteTab"/>
68+
<click selector="{{AdminUpdateAttributesWebsiteSection.addProductToWebsite}}" stepKey="checkAddProductToWebsiteCheckbox"/>
69+
<click selector="{{AdminUpdateAttributesSection.saveButton}}" stepKey="clickSave"/>
70+
<see selector="{{AdminProductMessagesSection.successMessage}}" userInput="A total of 1 record(s) were updated." stepKey="seeSaveSuccess"/>
71+
72+
<!--Got to Store front product page and check url-->
73+
<amOnPage url="{{StorefrontProductPage.url($$createProduct.sku$$-new)}}" stepKey="navigateToSimpleProductPage"/>
74+
<seeInCurrentUrl url="{{StorefrontProductPage.url($$createProduct.sku$$-new)}}" stepKey="seeProductNewUrl"/>
75+
</test>
76+
</tests>

0 commit comments

Comments
 (0)