Skip to content

Commit

Permalink
schrodinger: test for new object collection with configured filter
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed Oct 24, 2020
1 parent fee2b64 commit f3709d7
Show file tree
Hide file tree
Showing 4 changed files with 94 additions and 0 deletions.
@@ -0,0 +1,43 @@
/*
* Copyright (c) 2010-2020 Evolveum and contributors
*
* This work is dual-licensed under the Apache License 2.0
* and European Union Public License. See LICENSE file for details.
*/
package com.evolveum.midpoint.testing.schrodinger.component;

import org.testng.annotations.Test;

import com.evolveum.midpoint.schrodinger.page.objectcollection.ObjectCollectionPage;
import com.evolveum.midpoint.testing.schrodinger.AbstractSchrodingerTest;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectCollectionType;

/**
* Created by honchar
*/
public class FilterConfigPanelTest extends AbstractSchrodingerTest {


// @Override
// protected List<File> getObjectListToImport(){
// }

@Test
public void createNewObjectCollectionWithConfiguredFilter() {
ObjectCollectionPage objectCollectionPage = basicPage.newObjectCollection();
objectCollectionPage
.selectTabBasic()
.form()
.setAttributeValue(ObjectCollectionType.F_NAME, "TestCollection")
.setDropDownAttributeValue(ObjectCollectionType.F_TYPE, "User");
objectCollectionPage
.configSearch()
.setPropertyTextValue("Name", "FilterConfigTest", true)
.setPropertyFilterValue("Name", "Equal", true)
.confirmConfiguration()
.clickSave()
.feedback()
.isSuccess();
}

}
Expand Up @@ -54,12 +54,31 @@ public SearchPropertiesConfigPanel<T> setPropertyTextValue(String propertyName,
return this;
}

public SearchPropertiesConfigPanel<T> setPropertyFilterValue(String propertyName, String filterValue, boolean addPropertyIfAbsent) {
TableRow propertyRow = getTableRowForProperty(propertyName, addPropertyIfAbsent);
propertyRow.setValueToDropDownByColumnName("Filter", filterValue);
return this;
}

public SearchPropertiesConfigPanel<T> setPropertyMatchingTuleValue(String propertyName, String filterValue, boolean addPropertyIfAbsent) {
TableRow propertyRow = getTableRowForProperty(propertyName, addPropertyIfAbsent);
propertyRow.setValueToDropDownByColumnName("Filter", filterValue);
return this;
}

public SearchPropertiesConfigPanel<T> clickNegotiateCheckbox(String propertyName, boolean addPropertyIfAbsent) {
TableRow propertyRow = getTableRowForProperty(propertyName, addPropertyIfAbsent);
propertyRow.clickCheckBoxByColumnName("Negotiate");
return this;
}

public T confirmConfiguration() {
getParentElement().$(Schrodinger.byDataId("okButton"))
.waitUntil(Condition.visible, MidPoint.TIMEOUT_DEFAULT_2_S).click();
getParentElement().waitUntil(Condition.disappears, MidPoint.TIMEOUT_DEFAULT_2_S);
return getParent();
}

private TableRow getTableRowForProperty(String propertyName, boolean addPropertyIfAbsent) {
TableRow propertyRow = getPropertiesTable().rowByColumnLabel("Property", propertyName);
if (propertyRow == null && !addPropertyIfAbsent) {
Expand Down
Expand Up @@ -14,6 +14,8 @@
import com.codeborne.selenide.WebDriverRunner;
import com.codeborne.selenide.ex.ElementShould;

import com.evolveum.midpoint.schrodinger.page.objectcollection.ListObjectCollectionsPage;
import com.evolveum.midpoint.schrodinger.page.objectcollection.ObjectCollectionPage;
import com.evolveum.midpoint.schrodinger.page.service.ServicePage;

import org.apache.commons.lang3.StringUtils;
Expand Down Expand Up @@ -267,6 +269,16 @@ public AuditLogViewerPage auditLogViewer() {
return new AuditLogViewerPage();
}

public ListObjectCollectionsPage listObjectCollections() {
clickAdministrationMenu("PageAdmin.menu.top.objectCollections", "PageAdmin.menu.top.objectCollections.list");
return new ListObjectCollectionsPage();
}

public ObjectCollectionPage newObjectCollection() {
clickAdministrationMenu("PageAdmin.menu.top.objectCollections", "PageAdmin.menu.top.objectCollections.new");
return new ObjectCollectionPage();
}

public ImportResourceDefinitionPage importResourceDefinition() {
clickAdministrationMenu("PageAdmin.menu.top.resources", "PageAdmin.menu.top.resources.import");
return new ImportResourceDefinitionPage();
Expand Down
Expand Up @@ -6,11 +6,31 @@
*/
package com.evolveum.midpoint.schrodinger.page.objectcollection;

import com.codeborne.selenide.Condition;

import com.codeborne.selenide.SelenideElement;

import com.evolveum.midpoint.schrodinger.MidPoint;
import com.evolveum.midpoint.schrodinger.component.common.SearchPropertiesConfigPanel;
import com.evolveum.midpoint.schrodinger.page.AssignmentHolderDetailsPage;
import com.evolveum.midpoint.schrodinger.util.Schrodinger;

import static com.codeborne.selenide.Selenide.$;

/**
* Created by Kate Honchar.
*/
public class ObjectCollectionPage extends AssignmentHolderDetailsPage {

public SearchPropertiesConfigPanel<ObjectCollectionPage> configSearch() {
selectTabBasic()
.form()
.findProperty("Filter")
.$(Schrodinger.byDataId("configureButton"))
.waitUntil(Condition.visible, MidPoint.TIMEOUT_DEFAULT_2_S)
.click();
SelenideElement popupWindow = $(Schrodinger.byElementAttributeValue("div", "class", "wicket-modal"))
.waitUntil(Condition.visible, MidPoint.TIMEOUT_SHORT_4_S);
return new SearchPropertiesConfigPanel<>(this, popupWindow);
}
}

0 comments on commit f3709d7

Please sign in to comment.