Search in sources :

Example 6 with ChildrenEditor

use of com.adobe.cq.wcm.core.components.it.seljup.util.components.commons.ChildrenEditor in project aem-core-wcm-components by Adobe-Marketing-Cloud.

the class TabsIT 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. save the edit dialog
 *
 * @throws InterruptedException
 */
@Test
@DisplayName("Test: Edit Dialog : Remove items")
public void testRemoveItem() throws InterruptedException {
    // 1.
    createItems();
    // 2.
    TabsEditDialog editDialog = tabs.openEditDialog(cmpPath);
    ChildrenEditor childrenEditor = editDialog.getChildrenEditor();
    editDialog.openItemsTab();
    // 3.
    childrenEditor.removeFirstItem();
    Commons.saveConfigureDialog();
    // 4.
    tabs.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.
    Commons.saveConfigureDialog();
}
Also used : ChildrenEditor(com.adobe.cq.wcm.core.components.it.seljup.util.components.commons.ChildrenEditor) ElementsCollection(com.codeborne.selenide.ElementsCollection) TabsEditDialog(com.adobe.cq.wcm.core.components.it.seljup.util.components.tabs.TabsEditDialog) AuthorBaseUITest(com.adobe.cq.wcm.core.components.it.seljup.AuthorBaseUITest) Test(org.junit.jupiter.api.Test) DisplayName(org.junit.jupiter.api.DisplayName)

Example 7 with ChildrenEditor

use of com.adobe.cq.wcm.core.components.it.seljup.util.components.commons.ChildrenEditor in project aem-core-wcm-components by Adobe-Marketing-Cloud.

the class TabsIT method createItems.

/**
 * 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 createItems() throws InterruptedException {
    // 1.
    TabsEditDialog editDialog = tabs.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.
    tabs.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;
}
Also used : ChildrenEditor(com.adobe.cq.wcm.core.components.it.seljup.util.components.commons.ChildrenEditor) ElementsCollection(com.codeborne.selenide.ElementsCollection) TabsEditDialog(com.adobe.cq.wcm.core.components.it.seljup.util.components.tabs.TabsEditDialog) InsertComponentDialog(com.adobe.cq.testing.selenium.pagewidgets.cq.InsertComponentDialog)

Example 8 with ChildrenEditor

use of com.adobe.cq.wcm.core.components.it.seljup.util.components.commons.ChildrenEditor in project aem-core-wcm-components by Adobe-Marketing-Cloud.

the class TabsIT method addTabsItem.

/**
 * 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 addTabsItem(String component, String parentPath, String itemName) throws ClientException, InterruptedException {
    // 1.
    String cmpPath = Commons.addComponent(adminClient, component, parentPath + "/", null, null);
    // 2.
    TabsEditDialog editDialog = tabs.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;
}
Also used : ChildrenEditor(com.adobe.cq.wcm.core.components.it.seljup.util.components.commons.ChildrenEditor) TabsEditDialog(com.adobe.cq.wcm.core.components.it.seljup.util.components.tabs.TabsEditDialog)

Example 9 with ChildrenEditor

use of com.adobe.cq.wcm.core.components.it.seljup.util.components.commons.ChildrenEditor 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();
}
Also used : ChildrenEditor(com.adobe.cq.wcm.core.components.it.seljup.util.components.commons.ChildrenEditor) ElementsCollection(com.codeborne.selenide.ElementsCollection) AccordionEditDialog(com.adobe.cq.wcm.core.components.it.seljup.util.components.accordion.AccordionEditDialog) AuthorBaseUITest(com.adobe.cq.wcm.core.components.it.seljup.AuthorBaseUITest) Test(org.junit.jupiter.api.Test) DisplayName(org.junit.jupiter.api.DisplayName)

Example 10 with ChildrenEditor

use of com.adobe.cq.wcm.core.components.it.seljup.util.components.commons.ChildrenEditor 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;
}
Also used : ChildrenEditor(com.adobe.cq.wcm.core.components.it.seljup.util.components.commons.ChildrenEditor) AccordionEditDialog(com.adobe.cq.wcm.core.components.it.seljup.util.components.accordion.AccordionEditDialog)

Aggregations

ChildrenEditor (com.adobe.cq.wcm.core.components.it.seljup.util.components.commons.ChildrenEditor)11 ElementsCollection (com.codeborne.selenide.ElementsCollection)9 AuthorBaseUITest (com.adobe.cq.wcm.core.components.it.seljup.AuthorBaseUITest)6 DisplayName (org.junit.jupiter.api.DisplayName)6 Test (org.junit.jupiter.api.Test)6 AccordionEditDialog (com.adobe.cq.wcm.core.components.it.seljup.util.components.accordion.AccordionEditDialog)4 TabsEditDialog (com.adobe.cq.wcm.core.components.it.seljup.util.components.tabs.TabsEditDialog)4 InsertComponentDialog (com.adobe.cq.testing.selenium.pagewidgets.cq.InsertComponentDialog)3 CarouselEditDialog (com.adobe.cq.wcm.core.components.it.seljup.util.components.carousel.CarouselEditDialog)3