Skip to content

Commit

Permalink
schrodinger test for MID-5346 (query play ground)
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed Oct 16, 2019
1 parent 7e8a464 commit e4dd2a0
Show file tree
Hide file tree
Showing 4 changed files with 132 additions and 2 deletions.
@@ -0,0 +1,68 @@
/*
* Copyright (c) 2010-2018 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.page;

import com.evolveum.midpoint.schrodinger.page.configuration.QueryPlaygroundPage;
import com.evolveum.midpoint.schrodinger.page.user.ListUsersPage;
import com.evolveum.midpoint.schrodinger.page.user.UserPage;
import com.evolveum.midpoint.testing.schrodinger.TestBase;
import org.testng.Assert;
import org.testng.annotations.Test;

/**
* Created by Kate Honchar.
*/
public class QueryPlaygroundPageTest extends TestBase{

@Test //covers MID-5346
public void test001useInObjectListOptionTest() {
UserPage user = basicPage.newUser();

Assert.assertTrue(
user.selectTabBasic()
.form()
.addAttributeValue("name", "a_start")
.and()
.and()
.clickSave()
.feedback()
.isSuccess()
);

user = basicPage.newUser();
Assert.assertTrue(
user.selectTabBasic()
.form()
.addAttributeValue("name", "b_start")
.and()
.and()
.clickSave()
.feedback()
.isSuccess()
);

QueryPlaygroundPage queryPlaygroundPage = basicPage.queryPlayground();
queryPlaygroundPage
.setQuerySampleValue(QueryPlaygroundPage.QueryPlaygroundSample.FIRST_10_USERS_WITH_FIRST_A)
.useInObjectListButtonClick();

ListUsersPage usersPage = basicPage.listUsers();
Assert.assertTrue(
usersPage
.table()
.containsLinkTextPartially("a_start")
);

Assert.assertFalse(
usersPage
.table()
.containsLinkTextPartially("b_start")
);


}
}
10 changes: 10 additions & 0 deletions testing/schrodingertest/testng-integration-schrodinger.xml
Expand Up @@ -47,4 +47,14 @@
<class name="com.evolveum.midpoint.testing.schrodinger.scenarios.CaseTests"/>
</classes>
</test>
<test name="Schrodinger.UserTest" preserve-order="true" parallel="false" verbose="3" enabled="true">
<classes>
<class name="com.evolveum.midpoint.testing.schrodinger.UserTest"/>
</classes>
</test>
<test name="Schrodinger.page.QueryPlaygroundPageTest" preserve-order="true" parallel="false" verbose="3" enabled="true">
<classes>
<class name="com.evolveum.midpoint.testing.schrodinger.page.QueryPlaygroundPageTest"/>
</classes>
</test>
</suite>
Expand Up @@ -67,11 +67,11 @@ public boolean currentTableContains(String elementName, String elementValue) {
}

public boolean containsText(String value){
return $(byText(value)).waitUntil(Condition.visible, MidPoint.TIMEOUT_MEDIUM_6_S).is(Condition.visible);
return $(byText(value)).is(Condition.visible);
}

public boolean containsLinkTextPartially(String value){
return $(byPartialLinkText(value)).waitUntil(Condition.visible, MidPoint.TIMEOUT_MEDIUM_6_S).is(Condition.visible);
return $(byPartialLinkText(value)).is(Condition.visible);
}

public boolean buttonToolBarExists(){
Expand Down
Expand Up @@ -6,10 +6,62 @@
*/
package com.evolveum.midpoint.schrodinger.page.configuration;

import com.codeborne.selenide.Condition;
import com.codeborne.selenide.SelenideElement;
import com.evolveum.midpoint.schrodinger.MidPoint;
import com.evolveum.midpoint.schrodinger.page.BasicPage;
import com.evolveum.midpoint.schrodinger.util.Schrodinger;
import org.openqa.selenium.By;

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

/**
* Created by Viliam Repan (lazyman).
*/
public class QueryPlaygroundPage extends BasicPage {

public enum QueryPlaygroundSample{

ALL_OBJECTS_IN_A_SUBTREE("All objects in a subtree"),
ALL_OBJECTS_IN_ORG("All objects in an organization (directly)"),
ALL_ORG_ROOTS("All organizational roots"),
ALL_USERS("All users"),
FIRST_10_USERS_WITH_FIRST_A("First 10 users starting with \"a\""),
ORGS_WIT_TYPE1("Organizations of type \"type1\""),
RESOURCE_SHADOWS("Shadows on a given resource"),
USERS_CONTAINING_JACK_IN_NAME("Users containing \"jack\" in a name (normalized)"),
USERS_IN_COST_CENTERS("Users in cost centers 100000-999999 or X100-X999"),
USERS_WIT_FIRST_A_NORM("Users starting with \"a\" (normalized)"),
USERS_WITH_DIRECT_ROLE_ASSIGNMENT("Users that have a direct assignment of a role"),
USERS_WITH_ACTIVE_ROLE_ASSIGNEMT("Users that have active assignment of a role"),
USERS_WITH_MAIL_DOMAIN("Users with a given mail domain"),
USERS_WITH_GIVEN_NAME_JACK("Users with a given name of \"jack\" (normalized)"),
USERS_WITH_LINKED_SHADOW("Users with linked shadow on a given resource");

private String querySampleId;

QueryPlaygroundSample(String querySampleName){
this.querySampleId = querySampleName;
}

public String getQuerySampleId() {
return querySampleId;
}
}

public QueryPlaygroundPage setQuerySampleValue(QueryPlaygroundSample sample){
$(Schrodinger.byDataId("querySample"))
.waitUntil(Condition.visible, MidPoint.TIMEOUT_DEFAULT_2_S)
.$(By.tagName("select"))
.selectOption(sample.getQuerySampleId());
return this;
}

public void useInObjectListButtonClick(){
// Use in object list button redirects to the object list page
// according to the selected query sample type
$(Schrodinger.byDataId("useInObjectList"))
.waitUntil(Condition.visible, MidPoint.TIMEOUT_DEFAULT_2_S)
.click();
}
}

0 comments on commit e4dd2a0

Please sign in to comment.