Skip to content

Commit 4bb7832

Browse files
[AC-4703] Remove Customizable Option from Product with over 20 Customizable Options
1 parent 95035c6 commit 4bb7832

File tree

1 file changed

+96
-0
lines changed

1 file changed

+96
-0
lines changed
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright 2024 Adobe
5+
* All Rights Reserved.
6+
*/
7+
-->
8+
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
10+
<section name="AdminStagingSlideOutSection">
11+
<element name="scheduleNewUpdateBtn" type="button" selector="#staging_update_new" timeout="30"/>
12+
<element name="scheduledChanges" selector="div.block-schedule.block" type="block"/>
13+
<element name="preview" type="button" selector="//a[text()='Preview']"/>
14+
<element name="viewEdit" type="button" selector="//a[text()='View/Edit']"/>
15+
<element name="nthPreviewLink" selector="tbody.schedule-item:nth-of-type({{var}}) a:nth-of-type(2)" type="button" parameterized="true" timeout="30"/>
16+
<element name="editLinkByName" type="button" selector="//div[contains(text(), '{{nameUpdate}}')]/ancestor::tr//a[text()='View/Edit']" parameterized="true" timeout="30"/>
17+
<element name="previewByName" type="button" selector="//div[contains(text(), '{{nameUpdate}}')]/ancestor::tr//a[text()='Preview']" parameterized="true" timeout="60"/>
18+
<element name="modalContainer" type="text" selector="[data-role='modal']._show .modal-inner-wrap"/>
19+
<element name="title" type="text" selector="//span[text()='Schedule Update']"/>
20+
<element name="editExistingUpdate" type="radio" selector=" input[data-index='staging_save_mode']" timeout="10"/>
21+
<element name="updateName" type="input" selector="input[name='staging[name]']"/>
22+
<element name="updateNameDisabled" type="input" selector="input[name='staging[name]']:disabled"/>
23+
<element name="updateDescription" type="textarea" selector="textarea[name='staging[description]']"/>
24+
<element name="updateDescriptionDisabled" type="textarea" selector="textarea[name='staging[description]']:disabled"/>
25+
<element name="startDate" type="input" selector="input[name='staging[start_time]']"/>
26+
<element name="startDateDisabled" type="input" selector="input[name='staging[start_time]']:disabled"/>
27+
<element name="endDate" type="input" selector="input[name='staging[end_time]']"/>
28+
<element name="endDateDisabled" type="input" selector="input[name='staging[end_time]']:disabled"/>
29+
<element name="contentTab" type="button" selector="//aside[contains(@class,'_show')]//div[@data-role='content']//span[text()='Content']"/>
30+
<element name="save" type="button" selector=".modals-wrapper button#save" timeout="30"/>
31+
<element name="changeStoreButton" type="button" selector=".modal-header #store-change-button" timeout="10"/>
32+
<element name="selectStoreView" type="button" selector="//header[@class='modal-header']//ul[@data-role='stores-list']/li/a[normalize-space(.)='{{var1}}']" timeout="10" parameterized="true"/>
33+
<element name="scheduleErrorMessage" type="text" selector=".modal-content .message-error"/>
34+
<element name="contentBlock" type="block" selector=".block-content"/>
35+
<element name="cmsStagingPageBase" type="text" selector="//aside[contains(@class,'cmsstaging') and contains(@class,'_show')]"/>
36+
<element name="fieldError" type="text" selector="//input[@name='staging[{{fieldName}}]']/following-sibling::label[@class='admin__field-error']" parameterized="true"/>
37+
<element name="cancel" type="button" selector=".modals-wrapper button#cancel" timeout="30"/>
38+
<!-- Product details selectors -->
39+
<element name="price" type="input" selector="input[name='product[price]']"/>
40+
<element name="priceInStagingPage" type="input" selector="//aside[@class='modal-slide scheduled-changes-modal-slide catalogstaging_upcoming_form_catalogstaging_upcoming_form_catalogstaging_update_form_modal _show']//input[@name='product[price]']"/>
41+
<element name="name" type="input" selector=".scheduled-changes-modal-slide input[name='product[name]']"/>
42+
<element name="nameUseDefaultValue" type="checkbox" selector="//aside//*[@name='product[name]']/..//input[@name='use_default[name]']"/>
43+
<element name="removeFromUpdate" type="button" selector="#remove" timeout="20"/>
44+
<element name="anchor" type="checkbox" selector="//aside[contains(@class,'scheduled-changes-modal-slide')]//div[@data-index='status']//label[@class='admin__actions-switch-label']"/>
45+
<element name="assertAnchor" type="checkbox" selector="//aside[contains(@class,'scheduled-changes-modal-slide')]//div[@data-index='status']//label[@class='admin__actions-switch-label']/../input"/>
46+
<element name="useDefaultValue" type="button" selector="//*[@id='modal-content-13']/div/div[1]/div/div[2]/div[3]/div/fieldset/div[3]/div[2]/div/label" timeout="20"/>
47+
<element name="addProductsToGroup" type="button" selector=".scheduled-changes-modal-slide button[data-index='grouped_products_button']" />
48+
<element name="customizableOptions" type="select" selector="//span[text()='Customizable Options']"/>
49+
<element name="checkIfCustomizableOptionsTabOpen" type="text" selector="//aside//strong//span[text()='Customizable Options']/parent::strong/parent::*[@data-state-collapsible='closed']" timeout="30"/>
50+
<element name="addOption" type="button" selector=".scheduled-changes-modal-slide button[data-index='button_add'] > span"/>
51+
<element name="optionTitle" type="input" selector=".scheduled-changes-modal-slide input[name='product[options][1][title]']"/>
52+
<element name="optionTypeDropDown" type="select" selector="//aside//input[@name='product[options][1][title]']/parent::div/parent::div/following-sibling::div//div[@class='admin__action-multiselect-text']"/>
53+
<element name="optionType" type="select" selector="//aside//input[@name='product[options][1][title]']/parent::div/parent::div/following-sibling::div//li//div//label[text()='{{optionTypeValue}}']" parameterized="true"/>
54+
<element name="optionDelete" type="button" selector="//tbody//tr//td//div//div//span[text()='{{optionName}}']/../..//div/../button[@class='action-delete']" parameterized="true"/>
55+
<element name="optionValueDelete" type="button" selector="//aside//tbody//tr//tr//td//div//input[@name='product[options][0][values][0][title]']/parent::div/parent::div/..//following-sibling::td//button[@class='action-delete']"/>
56+
<element name="addOptionValue" type="button" selector="//aside//tbody//tr//td//div//div//span[text()='{{optionValue}}']/parent::div/..//following-sibling::div//tfoot//span[text()='Add Value']" parameterized="true"/>
57+
<element name="firstValueTitle" type="input" selector="input[name='product[options][1][values][0][title]']"/>
58+
<element name="firstValuePrice" type="input" selector="input[name='product[options][1][values][0][price]']"/>
59+
<element name="secondValueTitle" type="input" selector="input[name='product[options][1][values][1][title]']"/>
60+
<element name="secondValuePrice" type="input" selector="input[name='product[options][1][values][1][price]']"/>
61+
<element name="ThirdValueTitle" type="input" selector=".scheduled-changes-modal-slide input[name='product[options][0][values][1][title]']"/>
62+
<element name="ThirdValuePrice" type="input" selector=".scheduled-changes-modal-slide input[name='product[options][0][values][1][price]']"/>
63+
64+
<!-- Data picker selectors -->
65+
<element name="datepickerStartDate" type="button" selector="[data-index='staging_save_start_date'] button" timeout="30"/>
66+
<element name="datepickerEndDate" type="button" selector="[data-index='staging_save_end_time'] button" timeout="30"/>
67+
<element name="datepickerGoToday" type="button" selector="#ui-datepicker-div button.ui-datepicker-current" timeout="30"/>
68+
<element name="datepickerClose" type="button" selector="#ui-datepicker-div button.ui-datepicker-close" timeout="30"/>
69+
<element name="datapickerTime" type="text" selector="#ui-datepicker-div[style*='display: block'] .ui_tpicker_time"/>
70+
<element name="datapickerCurrentDay" type="select" selector="#ui-datepicker-div[style*='display: block'] .ui-datepicker-current-day &gt; a"/>
71+
<element name="datapickerMonth" type="select" selector="#ui-datepicker-div[style*='display: block'] select.ui-datepicker-month option[selected]"/>
72+
<element name="datapickerYear" type="select" selector="#ui-datepicker-div[style*='display: block'] .ui-datepicker-year"/>
73+
<!-- Page in Websites selectors -->
74+
<element name="pageInWebsitesTab" type="button" selector="//aside[contains(@class,'_show')]//div[@data-role='content']//span[text()='Page in Websites']"/>
75+
<element name="selectPageInWebsitesStoreView" type="button" selector="//div[@data-role='content']//select[@name='store_id']//option[contains(text(), '{{var1}}')]" timeout="10" parameterized="true"/>
76+
<element name="previewModal" type="button" selector=".modals-wrapper button#preview" timeout="30"/>
77+
<element name="stagingContentTab" type="button" selector="//aside[contains(@class,'_show')]//div[@data-role='content']//span[text()='Content']//ancestor::div[@data-index='content']//div[contains(@class,'admin__fieldset-wrapper-content') and contains(@class,'_show')]"/>
78+
<element name="saveButton" type="button" selector=".modals-wrapper button#save:nth-of-type({{index}})" timeout="30" parameterized="true"/>
79+
<element name="activeSaveButton" type="button" selector=".modals-wrapper ._show button#save"/>
80+
<element name="activeCloseButton" type="button" selector=".modals-wrapper ._show button.action-close"/>
81+
<element name="closeButtonForNestedDialog" type="button" selector=".modal-slide._show:not(.scheduled-changes-modal-slide) [data-role=&quot;closeBtn&quot;]" timeout="30"/>
82+
<!-- Product in Websites -->
83+
<element name="productInWebsitesTab" type="button" selector="//aside[contains(@class,'_show')]//div[@data-role='content']//span[text()='Product in Websites']"/>
84+
<element name="websitesSection" type="block" selector="//div[@class='fieldset-wrapper admin__fieldset-product-websites admin__collapsible-block-wrapper _disabled _show']"/>
85+
<element name="visibility" type="select" selector=".scheduled-changes-modal-slide select[name='product[visibility]']"/>
86+
<element name="countryOfManufacture" type="select" selector=".scheduled-changes-modal-slide select[name='product[country_of_manufacture]']"/>
87+
<element name="removeProduct" type="select" selector="//aside[@role='dialog']//*[contains(text(),'{{productName}}')]//ancestor::tr//td[@data-index='actionDelete']//span" parameterized="true"/>
88+
<element name="defaultQuantity" type="input" selector="//aside[@role='dialog']//*[contains(text(),'{{productName}}')]//ancestor::tr//td[@data-index='qty']//input" parameterized="true"/>
89+
<element name="attributeSet" type="select" selector="//aside[contains(@class,'scheduled-changes-modal-slide')]//div[contains(@class, 'admin__field')]//div[@data-index='attribute_set_id']"/>
90+
<element name="attributeSetFilter" type="input" selector="//aside[contains(@class,'scheduled-changes-modal-slide')]//div[@data-index='attribute_set_id']//div[contains(@class, 'admin__field-control')]//input" timeout="30"/>
91+
<element name="attributeSetFilterResult" type="input" selector="//aside[contains(@class,'scheduled-changes-modal-slide')]//div[@data-index='attribute_set_id']//div[contains(@class, 'action-menu-item _last')]" timeout="30"/>
92+
<element name="attributeCodeFilter" type="select" selector="//aside[contains(@class,'scheduled-changes-modal-slide')]//div[@data-index='{{attributeCode}}']//div[contains(@class, 'admin__field-control')]//select" timeout="30" parameterized="true"/>
93+
<element name="attributeSelectedOption" type="input" selector="//aside[contains(@class,'scheduled-changes-modal-slide')]//div[@data-index='attribute_set_id']//div[contains(@class, 'admin__field-control')]//div[@data-role='selected-option']" timeout="30"/>
94+
<element name="attributeSelectedCodeFilter" type="select" selector="//aside[contains(@class,'scheduled-changes-modal-slide')]//div[@data-index='{{attributeCode}}']//div[contains(@class, 'admin__field-control')]//select/option[text() = '{{color}}']" timeout="30" parameterized="true"/>
95+
</section>
96+
</sections>

0 commit comments

Comments
 (0)