From 53097d8bebd0e0ec82a01795c069b130d9156983 Mon Sep 17 00:00:00 2001 From: Mark <mark@openappstack.net> Date: Tue, 5 Nov 2019 18:26:32 +0100 Subject: [PATCH] Add test for users page --- frontend/test/e2e/admin.test.js | 23 +++++++++++++++++++++++ frontend/test/pages/users.js | 31 +++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 frontend/test/pages/users.js diff --git a/frontend/test/e2e/admin.test.js b/frontend/test/e2e/admin.test.js index ee203a7..ad9df7e 100644 --- a/frontend/test/e2e/admin.test.js +++ b/frontend/test/e2e/admin.test.js @@ -23,5 +23,28 @@ module.exports = { navbar .assert.elementPresent('@oidc') .assert.elementPresent('@users') + }, + 'Users page' : function(browser){ + const users = browser.page.users(); + const groups = users.section.leftSidebar; + const addUser = users.section.addUser; + const newUsername = "newTestUser" + users.navigate() + groups + .waitForElementVisible("@all") + .assert.containsText("@all", "All") + addUser + .assert.containsText("@addUserButton", "Add user") + .click("@addUserButton") + .waitForElementVisible("@inputUsername") + .assert.hidden("@addUserButton") + .assert.visible("@submitUsername") + .setValue("@inputUsername", browser.globals.adminUsername) + .assert.attributeEquals("@inputUsername", "aria-invalid", "true") + .assert.cssClassPresent("@inputUsername", "is-invalid") + .setValue("@inputUsername", newUsername) + .assert.cssClassPresent("@inputUsername", "is-valid") + .click("@submitUsername") + .assert.hidden("@inputUsername") } }; diff --git a/frontend/test/pages/users.js b/frontend/test/pages/users.js new file mode 100644 index 0000000..5327a10 --- /dev/null +++ b/frontend/test/pages/users.js @@ -0,0 +1,31 @@ +module.exports = { + url: function(){ + return this.api.launchUrl + "/users" + }, + elements: {}, + sections: { + addUser: { + selector: 'form.mt-5.form-inline', + elements:{ + addUserButton: { + selector: 'button[align-h="end"].btn-outline-success' + }, + inputUsername: { + selector: '#input-new-username' + }, + submitUsername: { + selector: 'button[type="submit"].btn-success' + } + } + }, + leftSidebar: { + selector: 'div.border-right.d-none.d-md-block', + elements: { + all: { + selector: "button.list-group-item", + index: 0 + } + } + } + } +}; -- GitLab