diff --git a/testing/schrodingertest/src/test/java/com/evolveum/midpoint/testing/schrodinger/scenarios/CaseTests.java b/testing/schrodingertest/src/test/java/com/evolveum/midpoint/testing/schrodinger/scenarios/CaseTests.java
index 5cfda3db42e..04da2f4d935 100644
--- a/testing/schrodingertest/src/test/java/com/evolveum/midpoint/testing/schrodinger/scenarios/CaseTests.java
+++ b/testing/schrodingertest/src/test/java/com/evolveum/midpoint/testing/schrodinger/scenarios/CaseTests.java
@@ -9,6 +9,8 @@
import com.codeborne.selenide.Condition;
import com.codeborne.selenide.SelenideElement;
import com.evolveum.midpoint.schrodinger.page.cases.*;
+import com.evolveum.midpoint.schrodinger.page.user.ListUsersPage;
+import com.evolveum.midpoint.schrodinger.page.user.UserPage;
import com.evolveum.midpoint.schrodinger.util.ConstantsUtil;
import com.evolveum.midpoint.testing.schrodinger.TestBase;
import org.testng.Assert;
@@ -67,6 +69,56 @@ public void test100openCasesAndCheckMenuEnabled() {
Assert.assertFalse(isCaseMenuItemActive(ConstantsUtil.MENU_ALL_REQUESTS_MENU_ITEM_LABEL_TEXT, false));
}
+ @Test
+ public void isCaseCreated(){
+ importObject(ConstantsUtil.ROLE_WITH_ADMIN_APPROVER_XML,true);
+
+ UserPage user = basicPage.newUser();
+ user.selectTabBasic()
+ .form()
+ .addAttributeValue("name", ConstantsUtil.CASE_CREATION_TEST_USER_NAME)
+ .and()
+ .and()
+ .clickSave();
+
+ ListUsersPage users = basicPage.listUsers();
+ users
+ .table()
+ .search()
+ .byName()
+ .inputValue(ConstantsUtil.CASE_CREATION_TEST_USER_NAME)
+ .updateSearch()
+ .and()
+ .clickByName(ConstantsUtil.CASE_CREATION_TEST_USER_NAME)
+ .selectTabAssignments()
+ .clickAddAssignemnt()
+ .selectType(ConstantsUtil.ASSIGNMENT_TYPE_SELECTOR_ROLE)
+ .table()
+ .search()
+ .byName()
+ .inputValue(ConstantsUtil.CASE_CREATION_TEST_ROLE_NAME)
+ .updateSearch()
+ .and()
+ .selectCheckboxByName(ConstantsUtil.CASE_CREATION_TEST_ROLE_NAME)
+ .and()
+ .clickAdd()
+ .and()
+ .clickSave()
+ .feedback()
+ .isInfo();
+
+ AllCasesPage allCasesPage = basicPage.listAllCases();
+ allCasesPage
+ .table()
+ .search()
+ .byName()
+ .inputValue(ConstantsUtil.CASE_CREATION_TEST_CASE_NAME)
+ .updateSearch()
+ .and()
+ .clickByName(ConstantsUtil.CASE_CREATION_TEST_CASE_NAME);
+
+ }
+
private boolean isCaseMenuItemActive(String menuIdentifier, boolean checkByLabelText){
SelenideElement casesMenuItemElement;
if (!checkByLabelText) {
diff --git a/testing/schrodingertest/src/test/java/com/evolveum/midpoint/testing/schrodinger/scenarios/OrganizationStructureTests.java b/testing/schrodingertest/src/test/java/com/evolveum/midpoint/testing/schrodinger/scenarios/OrganizationStructureTests.java
index 056accba82a..a06da448110 100644
--- a/testing/schrodingertest/src/test/java/com/evolveum/midpoint/testing/schrodinger/scenarios/OrganizationStructureTests.java
+++ b/testing/schrodingertest/src/test/java/com/evolveum/midpoint/testing/schrodinger/scenarios/OrganizationStructureTests.java
@@ -11,6 +11,7 @@
import com.evolveum.midpoint.schrodinger.page.resource.ListResourcesPage;
import com.evolveum.midpoint.schrodinger.page.user.ListUsersPage;
import com.evolveum.midpoint.schrodinger.page.user.UserPage;
+import com.evolveum.midpoint.schrodinger.util.ConstantsUtil;
import com.evolveum.midpoint.testing.schrodinger.TestBase;
import org.apache.commons.io.FileUtils;
import org.testng.Assert;
@@ -81,7 +82,7 @@ public void assignOrgUnit(){
.clickByName(TEST_USER_GUYBRUSH_NAME)
.selectTabAssignments()
.clickAddAssignemnt()
- .selectType(TYPE_SELECTOR_ORG)
+ .selectType(ConstantsUtil.ASSIGNMENT_TYPE_SELECTOR_ORG)
.table()
.search()
.byName()
diff --git a/testing/schrodingertest/src/test/resources/role-with-admin-approver.xml b/testing/schrodingertest/src/test/resources/role-with-admin-approver.xml
new file mode 100644
index 00000000000..f323d65144a
--- /dev/null
+++ b/testing/schrodingertest/src/test/resources/role-with-admin-approver.xml
@@ -0,0 +1,20 @@
+
+ Role with admin approver
+
+
+
+
+ add
+
+
+
+
+
+
+
+
+
+
diff --git a/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/cases/AllApprovalsPage.java b/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/cases/AllApprovalsPage.java
index dceea84bdc6..65cfc059e99 100644
--- a/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/cases/AllApprovalsPage.java
+++ b/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/cases/AllApprovalsPage.java
@@ -11,5 +11,5 @@
/**
* Created by Kate Honchar
*/
-public class AllApprovalsPage extends BasicPage {
+public class AllApprovalsPage extends CasesPage {
}
diff --git a/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/cases/AllCasesPage.java b/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/cases/AllCasesPage.java
index d1095b8490a..795c970d459 100644
--- a/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/cases/AllCasesPage.java
+++ b/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/cases/AllCasesPage.java
@@ -11,5 +11,6 @@
/**
* Created by Kate Honchar
*/
-public class AllCasesPage extends BasicPage {
+public class AllCasesPage extends CasesPage {
+
}
diff --git a/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/cases/AllManualCasesPage.java b/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/cases/AllManualCasesPage.java
index 89f186b7f66..908a6584d17 100644
--- a/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/cases/AllManualCasesPage.java
+++ b/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/cases/AllManualCasesPage.java
@@ -11,6 +11,6 @@
/**
* Created by Kate Honchar.
*/
-public class AllManualCasesPage extends BasicPage {
+public class AllManualCasesPage extends CasesPage {
}
diff --git a/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/cases/AllRequestsPage.java b/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/cases/AllRequestsPage.java
index b60fc4776d4..e2a064e97b7 100644
--- a/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/cases/AllRequestsPage.java
+++ b/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/cases/AllRequestsPage.java
@@ -11,5 +11,5 @@
/**
* Created by Viliam Repan (lazyman).
*/
-public class AllRequestsPage extends BasicPage {
+public class AllRequestsPage extends CasesPage {
}
diff --git a/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/cases/CasePage.java b/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/cases/CasePage.java
new file mode 100644
index 00000000000..e6cf891a649
--- /dev/null
+++ b/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/cases/CasePage.java
@@ -0,0 +1,35 @@
+/**
+ * Copyright (c) 2010-2019 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.schrodinger.page.cases;
+
+import com.codeborne.selenide.Condition;
+import com.codeborne.selenide.SelenideElement;
+import com.evolveum.midpoint.schrodinger.MidPoint;
+import com.evolveum.midpoint.schrodinger.component.AssignmentHolderBasicTab;
+import com.evolveum.midpoint.schrodinger.component.AssignmentsTab;
+import com.evolveum.midpoint.schrodinger.page.AssignmentHolderDetailsPage;
+
+/**
+ * Created by Kate Honchar.
+ */
+public class CasePage extends AssignmentHolderDetailsPage {
+
+ @Override
+ public AssignmentHolderBasicTab selectTabBasic(){
+ SelenideElement element = findTabPanel().clickTab("pageAdminFocus.basic")
+ .waitUntil(Condition.appear, MidPoint.TIMEOUT_DEFAULT_2_S);
+
+ return new AssignmentHolderBasicTab(this, element);
+ }
+
+ @Override
+ public AssignmentsTab selectTabAssignments(){
+ SelenideElement element = findTabPanel().clickTab("pageAdminFocus.assignments");
+
+ return new AssignmentsTab(this, element);
+ }
+}
diff --git a/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/cases/CasesListTable.java b/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/cases/CasesListTable.java
new file mode 100644
index 00000000000..94750f6944a
--- /dev/null
+++ b/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/cases/CasesListTable.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright (c) 2010-2019 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.schrodinger.page.cases;
+
+import com.codeborne.selenide.SelenideElement;
+import com.evolveum.midpoint.schrodinger.component.assignmentholder.AssignmentHolderObjectListTable;
+import com.evolveum.midpoint.schrodinger.page.user.ListUsersPage;
+import com.evolveum.midpoint.schrodinger.page.user.UserPage;
+
+/**
+ * Created by Kate Honchar.
+ */
+public class CasesListTable extends AssignmentHolderObjectListTable {
+
+ public CasesListTable(CasesPage parent, SelenideElement parentElement){
+ super(parent, parentElement);
+ }
+
+ @Override
+ public CasePage getObjectDetailsPage(){
+ return new CasePage();
+ }
+}
diff --git a/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/cases/CasesPage.java b/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/cases/CasesPage.java
new file mode 100644
index 00000000000..ab874cd377b
--- /dev/null
+++ b/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/cases/CasesPage.java
@@ -0,0 +1,20 @@
+/**
+ * Copyright (c) 2010-2019 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.schrodinger.page.cases;
+
+import com.evolveum.midpoint.schrodinger.component.assignmentholder.AssignmentHolderObjectListPage;
+
+/**
+ * Created by Kate Honchar
+ */
+public class CasesPage extends AssignmentHolderObjectListPage {
+
+ @Override
+ public CasesListTable table() {
+ return new CasesListTable(this, getTableBoxElement());
+ }
+}
diff --git a/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/cases/MyCasesPage.java b/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/cases/MyCasesPage.java
index a5e5b3c4bbc..e578768f67c 100644
--- a/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/cases/MyCasesPage.java
+++ b/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/cases/MyCasesPage.java
@@ -11,6 +11,6 @@
/**
* Created by Kate Honchar
*/
-public class MyCasesPage extends BasicPage {
+public class MyCasesPage extends CasesPage {
}
diff --git a/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/user/UserPage.java b/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/user/UserPage.java
index 7ef54d9395f..93d1947de48 100644
--- a/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/user/UserPage.java
+++ b/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/page/user/UserPage.java
@@ -136,6 +136,7 @@ public AssignmentHolderBasicTab selectTabBasic(){
return new AssignmentHolderBasicTab(this, element);
}
+ @Override
public AssignmentsTab selectTabAssignments(){
SelenideElement element = findTabPanel().clickTab("pageAdminFocus.assignments");
diff --git a/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/util/ConstantsUtil.java b/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/util/ConstantsUtil.java
index 60ec1a84ca2..770a0823996 100644
--- a/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/util/ConstantsUtil.java
+++ b/tools/schrodinger/src/main/java/com/evolveum/midpoint/schrodinger/util/ConstantsUtil.java
@@ -6,6 +6,8 @@
*/
package com.evolveum.midpoint.schrodinger.util;
+import java.io.File;
+
/**
* Created by Kate Honchar
*/
@@ -23,5 +25,19 @@ public class ConstantsUtil {
public static final String MENU_ALL_REQUESTS_MENU_ITEM_LABEL_TEXT = "All requests";
public static final String MENU_ALL_APPROVALS_MENU_ITEM_LABEL_TEXT = "All approvals";
+ //object attribute values
+ public static final String CASE_CREATION_TEST_USER_NAME = "caseCreationTestUser";
+ public static final String CASE_CREATION_TEST_ROLE_NAME = "Role with admin approver";
+ public static final String CASE_CREATION_TEST_CASE_NAME = "Approving and executing change of user \"caseCreationTestUser\"";
+
+ //files to import
+ public static final File ROLE_WITH_ADMIN_APPROVER_XML = new File("./src/test/resources/role-with-admin-approver.xml");
+
+ //add new assignment popup - tabs names
+ public static final String ASSIGNMENT_TYPE_SELECTOR_ROLE = "Role";
+ public static final String ASSIGNMENT_TYPE_SELECTOR_ORG_TREE = "Org. tree view";
+ public static final String ASSIGNMENT_TYPE_SELECTOR_ORG = "Org";
+ public static final String ASSIGNMENT_TYPE_SELECTOR_SERVICE = "Service";
+ public static final String ASSIGNMENT_TYPE_SELECTOR_RESOURCE = "Resource";
}