use of com.adobe.cq.wcm.core.components.it.seljup.util.components.accordion.AccordionEditDialog in project aem-core-wcm-components by Adobe-Marketing-Cloud.
the class AccordionIT method createItem.
/**
* Create three items via the children editor
*
* 1. open the edit dialog
* 2. add item via the children editor
* 3. save the edit dialog
* 4. Check if items are added
*
* @throws InterruptedException
*/
private ElementsCollection createItem() throws InterruptedException {
// 1.
AccordionEditDialog editDialog = accordion.openEditDialog(cmpPath);
editDialog.openItemsTab();
// 2.
ChildrenEditor childrenEditor = editDialog.getChildrenEditor();
childrenEditor.clickAddButton();
InsertComponentDialog insertComponentDialog = editDialog.getInsertComponentDialog();
insertComponentDialog.selectComponent("/libs/wcm/foundation/components/responsivegrid");
childrenEditor.getInputItems().last().sendKeys("item0");
childrenEditor.clickAddButton();
insertComponentDialog.selectComponent("/libs/wcm/foundation/components/responsivegrid");
childrenEditor.getInputItems().last().sendKeys("item1");
childrenEditor.clickAddButton();
insertComponentDialog.selectComponent("/libs/wcm/foundation/components/responsivegrid");
childrenEditor.getInputItems().last().sendKeys("item2");
// 3.
Commons.saveConfigureDialog();
// 4.
accordion.openEditDialog(cmpPath);
editDialog.openItemsTab();
ElementsCollection items = childrenEditor.getInputItems();
assertTrue(items.size() == 3, "Number to items added should be 3");
assertTrue(items.get(0).getValue().equals("item0"), "First input item should be item0");
assertTrue(items.get(1).getValue().equals("item1"), "Second input item should be item1");
assertTrue(items.get(2).getValue().equals("item2"), "Third input item should be item2");
Commons.saveConfigureDialog();
return items;
}
use of com.adobe.cq.wcm.core.components.it.seljup.util.components.accordion.AccordionEditDialog in project aem-core-wcm-components by Adobe-Marketing-Cloud.
the class AccordionIT method testRemoveItem.
/**
* Test: Edit Dialog : Remove items
*
* 1. create new items with titles
* 2. open the edit dialog
* 3. remove the first item and save the edit dialog
* 4. open the edit dialog
* 5. verify that the first item has been removed
* 6. verify the expanded items select
* 7. save the edit dialog
*
* @throws InterruptedException
*/
@Test
@DisplayName("Test: Edit Dialog : Remove items")
public void testRemoveItem() throws InterruptedException {
// 1.
createItem();
// 2.
AccordionEditDialog editDialog = accordion.openEditDialog(cmpPath);
ChildrenEditor childrenEditor = editDialog.getChildrenEditor();
editDialog.openItemsTab();
// 3.
childrenEditor.removeFirstItem();
Commons.saveConfigureDialog();
// 4.
accordion.openEditDialog(cmpPath);
editDialog.openItemsTab();
ElementsCollection items = childrenEditor.getInputItems();
// 5.
assertTrue(items.size() == 2, "Number to items added should be 2");
assertTrue(items.get(0).getValue().equals("item1"), "First input item should be item1");
assertTrue(items.get(1).getValue().equals("item2"), "Second input item should be item2");
// 6.
verifyExpandedItemsSelect(items, editDialog.getEditDialogProperties());
// 7.
Commons.saveConfigureDialog();
}
use of com.adobe.cq.wcm.core.components.it.seljup.util.components.accordion.AccordionEditDialog in project aem-core-wcm-components by Adobe-Marketing-Cloud.
the class AccordionIT method selectExpandedItem.
/**
* Create and title a single accordion item
*
* @param idx id of the item to be expanded
*
* 1. open the edit dialog
* 2. open the properties tab
* 3. open the expandedselect list
* 4. select the idx item
* 5. save the edit dialog
*
* @throws InterruptedException
*/
private CoralSelectList selectExpandedItem(int idx) throws InterruptedException {
// 1.
AccordionEditDialog editDialog = accordion.openEditDialog(cmpPath);
// 2.
AccordionEditDialog.EditDialogProperties properties = editDialog.getEditDialogProperties();
properties.openProperties();
// 3.
properties.openExpandedSelect(" > button");
// 4.
CoralSelectList selectedItems = properties.selectList();
selectedItems.selectByIndex(idx);
// 5.
Commons.saveConfigureDialog();
return selectedItems;
}
use of com.adobe.cq.wcm.core.components.it.seljup.util.components.accordion.AccordionEditDialog in project aem-core-wcm-components by Adobe-Marketing-Cloud.
the class AccordionIT method testReorderItem.
/**
* Test: Edit Dialog : Reorder items
*
* 1. create new items with titles
* 2. open the edit dialog
* 3. move the last item before the first one
* 4. save the edit dialog
* 5. open the edit dialog
* 6. verify the new order
* 7. verify the expanded items select
* 8. save the edit dialog
*
* @throws InterruptedException
*/
@Test
@DisplayName("Test: Edit Dialog : Reorder items")
public void testReorderItem() throws InterruptedException {
// 1.
createItem();
// 2.
AccordionEditDialog editDialog = accordion.openEditDialog(cmpPath);
ChildrenEditor childrenEditor = editDialog.getChildrenEditor();
editDialog.openItemsTab();
// 3.
childrenEditor.moveItems(2, 0);
// 4.
Commons.saveConfigureDialog();
// 5.
accordion.openEditDialog(cmpPath);
editDialog.openItemsTab();
// 6.
ElementsCollection items = childrenEditor.getInputItems();
assertTrue(items.size() == 3, "Number to items added should be 3");
// In chrome browser re-order is not working as expected
assertTrue(items.get(0).getValue().equals("item2") || items.get(0).getValue().equals("item0"), "First input item should be item2 or item0");
assertTrue(items.get(1).getValue().equals("item0") || items.get(1).getValue().equals("item2"), "Second input item should be item0 or item2");
assertTrue(items.get(2).getValue().equals("item1"), "Second input item should be item1");
// 7.
verifyExpandedItemsSelect(items, editDialog.getEditDialogProperties());
// 8.
Commons.saveConfigureDialog();
}
use of com.adobe.cq.wcm.core.components.it.seljup.util.components.accordion.AccordionEditDialog in project aem-core-wcm-components by Adobe-Marketing-Cloud.
the class AccordionIT method addAccordionItem.
/**
* Create and title a single accordion item
*
* @param component component path
* @param parentPath parent component path
* @param itemName name of the item to be set
* 1. add a component to the accordion
* 2. open the edit dialog
* 3. name the accordion item
* 4. save the edit dialog
*
* @throws ClientException
* @throws InterruptedException
*/
private String addAccordionItem(String component, String parentPath, String itemName) throws ClientException, InterruptedException {
// 1.
String cmpPath = Commons.addComponent(adminClient, component, parentPath + "/", null, null);
// 2.
AccordionEditDialog editDialog = accordion.openEditDialog(parentPath);
ChildrenEditor childrenEditor = editDialog.getChildrenEditor();
Commons.webDriverWait(RequestConstants.WEBDRIVER_WAIT_TIME_MS);
editDialog.openItemsTab();
// 3.
childrenEditor.getInputItems().last().sendKeys(itemName);
// 4.
Commons.saveConfigureDialog();
return cmpPath;
}
Aggregations