From 0217fe0a440046779ea2ae392876cb8132fa1607 Mon Sep 17 00:00:00 2001 From: Mark <mark@openappstack.net> Date: Thu, 14 Nov 2019 11:42:20 +0100 Subject: [PATCH] Add assign admin role test case --- frontend/test/e2e/admin.test.js | 27 +++++++++++++++++++++++++++ frontend/test/pages/users.js | 8 ++++++++ 2 files changed, 35 insertions(+) diff --git a/frontend/test/e2e/admin.test.js b/frontend/test/e2e/admin.test.js index d2c9f5c..ca004db 100644 --- a/frontend/test/e2e/admin.test.js +++ b/frontend/test/e2e/admin.test.js @@ -118,5 +118,32 @@ module.exports = { .waitForElementNotPresent({selector: "@rows", index: 2}) roles .verify.containsText('@userCount', '2') + }, + 'Assign admin role' : async function(browser){ + const users = browser.page.users(); + const roles = users.section.leftSidebar; + const editUsers = users.section.editUsers; + const newUsername = "newTestUser" + const newPassword = "newTestUser" + const newEmail = "test42@example.net" + users.createUser(newUsername, newPassword, newEmail) + const newTestUser = editUsers.section.newTestUser; + roles + .verify.containsText('@userCount', '3') + .verify.containsText('@adminCount', '1') + newTestUser + .click("@addRole") + .waitForElementVisible("@addRoleInput") + .setValue("@addRoleInput", "admin") + .submitForm("@addRoleInput") + .waitForElementVisible("@save") + .click("@save") + roles + .verify.containsText('@userCount', '3') + .verify.containsText('@adminCount', '2') + browser.refresh() + roles + .verify.containsText('@userCount', '3') + .verify.containsText('@adminCount', '2') } }; diff --git a/frontend/test/pages/users.js b/frontend/test/pages/users.js index 1366106..14be5ca 100644 --- a/frontend/test/pages/users.js +++ b/frontend/test/pages/users.js @@ -107,6 +107,14 @@ module.exports = { selector: "//*[contains(text(),'newTestUser')]//following::div//*[contains(text(), 'Save')]", locateStrategy: 'xpath' }, + addRole: { + selector: "//*[contains(text(),'newTestUser')]//following::div//*[contains(text(), 'Add role')]", + locateStrategy: 'xpath' + }, + addRoleInput: { + selector: "//*[contains(text(),'newTestUser')]//following::div//input[@placeholder='Enter role']", + locateStrategy: 'xpath' + }, delete: { selector: "//*[contains(text(),'newTestUser')]//following::div//*[contains(text(), 'Delete')]", locateStrategy: 'xpath' -- GitLab