diff --git a/frontend/test/e2e/admin.test.js b/frontend/test/e2e/admin.test.js index c67bc9d30f11601333491f2d0aeb972772992d11..71c55ec65d9b3bd37916b9998446339e3335cbb0 100644 --- a/frontend/test/e2e/admin.test.js +++ b/frontend/test/e2e/admin.test.js @@ -118,11 +118,11 @@ module.exports = { .verify.strictEqual(allUserRows.result.value.length, 3, "Testing if there are 3 user rows to edit") roles .verify.containsText('@userCount', '3') + const newTestUser = editUsers.section.newTestUser; + newTestUser.assert.containsText("@username", newUsername) + newTestUser.assert.value("@email", newEmail) + newTestUser.click("@delete") editUsers - .assert.containsText({selector: "@username", index: 2}, newUsername) - .assert.value({selector: "@email", index: 2}, newEmail) - // delete User and check if deletion was successful - .click({selector: "@delete", index: 2}) .waitForElementNotPresent({selector: "@rows", index: 2}) roles .verify.containsText('@userCount', '2') diff --git a/frontend/test/pages/users.js b/frontend/test/pages/users.js index 8f4f210dbe785f0e1cbc63829ceb6874bafa706e..9188f0a7975ea4b116734d41c1d21c255fac998f 100644 --- a/frontend/test/pages/users.js +++ b/frontend/test/pages/users.js @@ -36,37 +36,68 @@ module.exports = { selector: '#editUsers', elements: { header: { - selector: '#editUsersHeader' + selector: '#editUsersHeader' }, rows: { - selector: '.editUser' + selector: '.editUser' }, username:{ - selector: '.field.username' + selector: '.field.username' }, password:{ - selector: '.field.password' + selector: '.field.password' }, email:{ - selector: '.field.email' + selector: '.field.email' }, roles:{ - selector: '.field.roles' + selector: '.field.roles' }, applications:{ - selector: '.field.applications' + selector: '.field.applications' }, addRole: { - selector: '.btn.addRole' + selector: '.btn.addRole' + }, + addRoleInput: { + selector: '.input.addRole' }, addApp: { - selector: '.btn.addApplication' + selector: '.btn.addApplication' }, save: { - selector: '.btn.save' + selector: '.btn.save' }, delete: { - selector: '.btn.delete' + selector: '.btn.delete' + } + }, + sections: { + newTestUser: { + selector: "//*[contains(text(),'newTestUser')]//ancestor::div[1]", + locateStrategy: 'xpath', + elements: { + username: { + selector: "//*[contains(text(),'newTestUser')]", + locateStrategy: 'xpath' + }, + password: { + selector: "//*[contains(text(),'newTestUser')]//following::div[1]//input", + locateStrategy: 'xpath' + }, + email: { + selector: "//*[contains(text(),'newTestUser')]//following::div[2]//input", + locateStrategy: 'xpath' + }, + save: { + selector: "//*[contains(text(),'newTestUser')]//following::div//*[contains(text(), 'Save')]", + locateStrategy: 'xpath' + }, + delete: { + selector: "//*[contains(text(),'newTestUser')]//following::div//*[contains(text(), 'Delete')]", + locateStrategy: 'xpath' + } + } } } },