Skip to content

Commit 5bebf77

Browse files
committed
MC-5723: Flaky MFTF Map Tests - Google Maps Rate Limit Reached
- Fixing failing tests - Adding/editing tests for adding location with empty/invalid key - Adding/editing tests for checking api key warning link with empty/invalid key - Adding/updating supporting data, action groups, elements
1 parent bcca568 commit 5bebf77

File tree

4 files changed

+141
-50
lines changed

4 files changed

+141
-50
lines changed

app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/ContentTypeMapActionGroup.xml

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -372,12 +372,18 @@
372372
</actionGroup>
373373
<actionGroup name="validateMapErrorMessageStage">
374374
<arguments>
375-
<argument name="page" defaultValue="MapOnStage"/>
376375
<argument name="index" defaultValue="1" type="string"/>
377376
</arguments>
378-
<waitForElement selector="{{page.base(index)}}" stepKey="seeMap"/>
379-
<waitForElementVisible selector="{{page.errorContainer(index)}}" stepKey="seeMapErrorContainer"/>
380-
<see userInput="{{PageBuilderMapCommonData.mapErrorMessageAdmin}}" selector="{{page.errorContainer(index)}}" stepKey="seeMapErrorMessage"/>
377+
<waitForElement selector="{{MapOnStage.base(index)}}" stepKey="seeMap"/>
378+
<waitForElementVisible selector="{{MapOnStage.errorContainer(index)}}" stepKey="seeMapErrorContainer"/>
379+
<see userInput="{{PageBuilderMapCommonData.mapErrorMessageAdmin}}" selector="{{MapOnStage.errorContainer(index)}}" stepKey="seeMapErrorMessage"/>
380+
</actionGroup>
381+
<actionGroup name="validateMapErrorMessageAddLocationForm">
382+
<arguments>
383+
<argument name="index" defaultValue="1" type="string"/>
384+
</arguments>
385+
<waitForElementVisible selector="{{AddLocationForm.errorContainer(index)}}" stepKey="seeMapErrorContainer"/>
386+
<see userInput="{{PageBuilderMapCommonData.mapErrorMessageAdmin}}" selector="{{AddLocationForm.errorContainer(index)}}" stepKey="seeMapErrorMessage"/>
381387
</actionGroup>
382388
<actionGroup name="validateMapErrorMessageStorefront">
383389
<arguments>
@@ -395,4 +401,14 @@
395401
<waitForElementVisible selector="{{AddLocationForm.base(index)}}" stepKey="seeMap"/>
396402
<dontSeeElementInDOM selector="{{AddLocationForm.renderedMap}}" stepKey="dontSeeRenderedMap"/>
397403
</actionGroup>
404+
<actionGroup name="validateWarningMessageLink">
405+
<arguments>
406+
<argument name="section"/>
407+
</arguments>
408+
<waitForElementVisible selector="{{section.warningMessageLink}}" stepKey="waitForWarningMessageLink"/>
409+
<click selector="{{section.warningMessageLink}}" stepKey="clickLink"/>
410+
<waitForPageLoad stepKey="waitForPageLoad"/>
411+
<seeInCurrentUrl url="{{AdminContentManagementPage.url}}#cms_pagebuilder" stepKey="validateURL"/>
412+
<seeElement selector="{{ContentManagementSection.GoogleMapsAPIKeyInputField}}" stepKey="seeGoogleMapsAPIKeyInputField"/>
413+
</actionGroup>
398414
</actionGroups>

app/code/Magento/PageBuilder/Test/Mftf/Data/MapData.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
<entity name="PageBuilderMapCommonData" type="pagebuilder__map_common_data">
2525
<data key="mapErrorTitleStorefront">Oops! Something went wrong.</data>
2626
<data key="mapErrorMessageStorefront">This page didn't load Google Maps correctly. See the JavaScript console for technical details.</data>
27-
<data key="mapErrorMessageAdmin">Enter valid API Key to use Google Maps</data>
27+
<data key="mapErrorMessageAdmin">You must provide a valid Google Maps API key to use a map.</data>
2828
</entity>
2929
<!-- Map Position -->
3030
<entity name="PageBuilderMapPositionDefaultProperty" type="pagebuilder_map_position_property">

app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderMapSection.xml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
<element name="zoomOut" type="button" selector="(//div[contains(@class,'pagebuilder-map')])[{{arg1}}]//button[@title='Zoom out']" parameterized="true"/>
4848
<!-- Map Error Message -->
4949
<element name="errorContainer" type="text" selector="(//div[contains(@class,'pagebuilder-map')])[{{arg1}}]//div[@class='google-map-auth-failure-placeholder']" parameterized="true"/>
50+
<element name="warningMessageLink" type="button" selector="//div[@class='google-map-auth-failure-placeholder']//a"/>
5051
</section>
5152
<section name="MapOnStorefront">
5253
<element name="emptyMap" type="button" selector="(//div[@data-role='map'])[{{arg1}}][not(@src) and contains(@style,'display: none;')]" parameterized="true"/>
@@ -92,10 +93,13 @@
9293
<element name="errorContainer" type="text" selector="(//div[@data-role='map'])[{{arg1}}]//div[contains(@class, 'gm-err-container')]" parameterized="true"/>
9394
<element name="errorTitle" type="text" selector="(//div[@data-role='map'])[{{arg1}}]//div[contains(@class, 'gm-err-container')]//div[contains(@class, 'gm-err-title')]" parameterized="true"/>
9495
<element name="errorMessage" type="text" selector="(//div[@data-role='map'])[{{arg1}}]//div[contains(@class, 'gm-err-container')]//div[contains(@class, 'gm-err-message')]" parameterized="true"/>
96+
<element name="warningMessageLink" type="button" selector="//div[contains(@class,'pagebuilder-map')]//div[@class='google-map-auth-failure-placeholder']//a"/>
9597
</section>
9698
<section name="EditMapForm">
9799
<element name="addLocationButton" type="button" selector="//button[@data-index='add_location_button']"/>
98-
<element name="addLocationButtonDisabled" type="button" selector="//button[@data-index='add_location_button' and @disabled]"/>
100+
<!-- Map Error Message -->
101+
<element name="warningMessage" type="text" selector="//div[contains(@class, 'pagebuilder_modal_form_pagebuilder_modal_form_modal')]//div[contains(@class, 'message-warning')]"/>
102+
<element name="warningMessageLink" type="button" selector="//div[contains(@class, 'pagebuilder_modal_form_pagebuilder_modal_form_modal')]//div[contains(@class, 'message-warning')]//a"/>
99103
</section>
100104
<section name="AddLocationForm">
101105
<element name="form" type="text" selector="aside div.pagebuilder_map_form_pagebuilder_map_form_general_map_location_modal_map_location_insert_form"/>
@@ -109,15 +113,14 @@
109113
<element name="pinLocations" type="text" selector="(//div[@data-index='position']//div[contains(@style,'transform: matrix(1, 0, 0, 1, ')])[{{arg1}}]" parameterized="true"/>
110114
<element name="tooltipWindow" type="text" selector="//div[@data-index='position']//div[@class='map-field']//div[@class='gm-style-iw']"/>
111115
<element name="helperText" type="button" selector="//div[@data-index='position']//span[.='You can move the pin by clicking or dragging it where you want. To alter the zoom please use the controls.']"/>
112-
<element name="warningMessage" type="text" selector="//div[contains(@class, 'pagebuilder_modal_form_pagebuilder_modal_form_modal')]//div[contains(@class, 'message-warning')]"/>
113-
<element name="warningMessageLink" type="button" selector="//div[contains(@class, 'pagebuilder_modal_form_pagebuilder_modal_form_modal')]//div[contains(@class, 'message-warning')]//a"/>
114116
<element name="renderedMap" type="button" selector="//div[@data-index='position']//div[@class='map-field']//div[contains(@class, 'gm-style')]"/>
115117
<!-- Map Buttons -->
116118
<element name="googleModalOkButton" type="button" selector="//aside//button[@class='dismissButton' and .='OK'][{{arg1}}]" parameterized="true"/>
117119
<element name="fullScreen" type="button" selector="(//div[@data-index='position']//div[@class='map-field']//button[@title='Toggle fullscreen view'])[{{arg1}}]" parameterized="true"/>
118120
<element name="zoomIn" type="button" selector="(//div[@data-index='position']//div[@class='map-field']//button[@title='Zoom in'])[{{arg1}}]" parameterized="true"/>
119121
<element name="zoomOut" type="button" selector="(//div[@data-index='position']//div[@class='map-field']//button[@title='Zoom out'])[{{arg1}}]" parameterized="true"/>
120122
<!-- Map Error Message -->
121-
<element name="errorContainer" type="text" selector="(//div[@data-index='position']//div[@class='map-field']//div[@class='google-map-auth-failure-placeholder'])[{{arg1}}]" parameterized="true"/>
123+
<element name="errorContainer" type="text" selector="(//div[@data-index='position']//div[@class='google-map-auth-failure-placeholder'])[{{arg1}}]" parameterized="true"/>
124+
<element name="warningMessageLink" type="button" selector="//div[@data-index='position']//div[@class='google-map-auth-failure-placeholder']//a"/>
122125
</section>
123126
</sections>

0 commit comments

Comments
 (0)