Skip to content

Commit f8b70f9

Browse files
Merge remote-tracking branch 'remotes/github/MAGETWO-57337' into EPAM-PR-42
2 parents 0d0b300 + 070abed commit f8b70f9

File tree

3 files changed

+24
-7
lines changed

3 files changed

+24
-7
lines changed

app/code/Magento/Cms/Test/Mftf/Test/StoreViewLanguageCorrectSwitchTest.xml

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,12 @@
1111
<test name="StoreViewLanguageCorrectSwitchTest">
1212
<annotations>
1313
<features value="Cms"/>
14-
<stories value="Store View (language) switch leads to 404"/>
15-
<group value="Cms"/>
1614
<title value="Check that Store View(language) switches correct"/>
1715
<description value="Check that Store View(language) switches correct"/>
1816
<severity value="MAJOR"/>
1917
<testCaseId value="MAGETWO-96388"/>
2018
<useCaseId value="MAGETWO-57337"/>
19+
<group value="Cms"/>
2120
</annotations>
2221
<before>
2322
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
@@ -37,7 +36,7 @@
3736

3837
<!-- Create StoreView -->
3938
<actionGroup ref="AdminCreateStoreViewActionGroup" stepKey="createStoreView">
40-
<argument name="customStore" value="NewStoreViewData"/>
39+
<argument name="customStore" value="NewStoreViewData"/>
4140
</actionGroup>
4241

4342
<!-- Add StoreView To Cms Page-->
@@ -51,10 +50,18 @@
5150
<see userInput="$$createFirstCmsPage.title$$" stepKey="seePageTitle"/>
5251

5352
<!-- Switch StoreView and check that Cms Page is open -->
54-
<click selector="{{StorefrontHeaderSection.storeViewSwitcher}}" stepKey="clickStoreViewSwitcher"/>
55-
<waitForElementVisible selector="{{StorefrontHeaderSection.storeViewDropdown}}" stepKey="waitForStoreViewDropDown"/>
56-
<click selector="{{StorefrontHeaderSection.storeViewOption(NewStoreViewData.code)}}" stepKey="selectStoreView"/>
53+
<actionGroup ref="StorefrontSwitchStoreViewActionGroup" stepKey="switchToCustomStoreView">
54+
<argument name="storeView" value="NewStoreViewData"/>
55+
</actionGroup>
5756
<amOnPage url="{{StorefrontHomePage.url}}/$$createSecondCmsPage.identifier$$" stepKey="gotToSecondCmsPage"/>
5857
<see userInput="$$createSecondCmsPage.title$$" stepKey="seePageTitle1"/>
58+
59+
<!--Open first Cms page on custom store view-->
60+
<amOnPage url="{{StorefrontHomePage.url}}/$$createFirstCmsPage.identifier$$" stepKey="gotToFirstCmsPage1"/>
61+
<see userInput="Whoops, our bad..." stepKey="seePageError"/>
62+
63+
<!--Switch to default store view and check Cms page-->
64+
<actionGroup ref="StorefrontSwitchDefaultStoreViewActionGroup" stepKey="switchToDefualtStoreView"/>
65+
<see userInput="$$createFirstCmsPage.title$$" stepKey="seePageTitle2"/>
5966
</test>
6067
</tests>

app/code/Magento/Store/Test/Mftf/ActionGroup/StorefrontSwitchStoreViewActionGroup.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,9 @@
1717
<click selector="{{StorefrontHeaderSection.storeViewOption(storeView.code)}}" stepKey="clickSelectStoreView"/>
1818
<waitForPageLoad stepKey="waitForPageLoad"/>
1919
</actionGroup>
20+
21+
<actionGroup name="StorefrontSwitchDefaultStoreViewActionGroup" extends="StorefrontSwitchStoreViewActionGroup">
22+
<remove keyForRemoval="clickSelectStoreView"/>
23+
<click selector="{{StorefrontHeaderSection.storeViewOption('default')}}" stepKey="clickSelectDefaultStoreView" after="waitForStoreViewDropdown"/>
24+
</actionGroup>
2025
</actionGroups>

app/code/Magento/UrlRewrite/Model/StoreSwitcher/RewriteUrl.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,12 @@ public function switch(StoreInterface $fromStore, StoreInterface $targetStore, s
8181
$existingRewrite = $this->urlFinder->findOneByData([
8282
UrlRewrite::REQUEST_PATH => $urlPath
8383
]);
84-
if ($existingRewrite) {
84+
$currentRewrite = $this->urlFinder->findOneByData([
85+
UrlRewrite::REQUEST_PATH => $urlPath,
86+
UrlRewrite::STORE_ID => $targetStore->getId(),
87+
]);
88+
89+
if ($existingRewrite && !$currentRewrite) {
8590
/** @var \Magento\Framework\App\Response\Http $response */
8691
$targetUrl = $targetStore->getBaseUrl();
8792
}

0 commit comments

Comments
 (0)