Mercurial > gemma
changeset 166:8f49ba6cddd9
test: login now as e2e test
Basic functionality for login is tested with nightwatch
author | Thomas Junk <thomas.junk@intevation.de> |
---|---|
date | Fri, 06 Jul 2018 12:00:08 +0200 |
parents | 4bf2173748f3 |
children | a6d7ee20fc96 |
files | client/src/views/Login.vue client/tests/e2e/specs/login.js client/tests/e2e/specs/test.js |
diffstat | 3 files changed, 72 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/client/src/views/Login.vue Fri Jul 06 11:04:52 2018 +0200 +++ b/client/src/views/Login.vue Fri Jul 06 12:00:08 2018 +0200 @@ -8,7 +8,7 @@ </div> <div class="login-wrapper d-flex flex-row justify-content-center"> <form class="loginform form-signin" @submit.prevent="login"> - <div v-if="loginFailed" class="loginerrormessage alert alert-danger" role="alert"> + <div id="alert" v-if="loginFailed" class="loginerrormessage alert alert-danger" role="alert"> <span class="loginerror"><translate>Login failed</translate></span> </div> <div class="input-group mb-3 emailgroup">
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/client/tests/e2e/specs/login.js Fri Jul 06 12:00:08 2018 +0200 @@ -0,0 +1,71 @@ +// For authoring Nightwatch tests, see +// http://nightwatchjs.org/guide#usage + +module.exports = { + "Page Load": browser => { + browser + .url(process.env.VUE_DEV_SERVER_URL) + .waitForElementVisible("#app", 5000) + .assert.elementPresent(".login") + .end(); + }, + "Login failed": browser => { + browser + .url(process.env.VUE_DEV_SERVER_URL) + .waitForElementVisible("#app", 5000) + .setValue("input[id='inputEmail']", "bla") + .setValue("input[id='inputPassword']", "bla") + .click("button[type='submit']") + .waitForElementVisible("#alert", 2000) + .assert.elementPresent(".loginerror") + .end(); + }, + "Login oana success": browser => { + browser + .url(process.env.VUE_DEV_SERVER_URL) + .waitForElementVisible("#app", 5000) + .setValue("input[id='inputEmail']", "oana") + .setValue("input[id='inputPassword']", "oa2Na2") + .click("button[type='submit']") + .pause(1000) + .assert.elementPresent(".username") + .assert.containsText(".username", "oana") + .end(); + }, + "Login oana switch url": browser => { + browser + .url(process.env.VUE_DEV_SERVER_URL) + .waitForElementVisible("#app", 5000) + .setValue("input[id='inputEmail']", "oana") + .setValue("input[id='inputPassword']", "oa2Na2") + .click("button[type='submit']") + .pause(1000) + .assert.elementPresent(".username") + .assert.containsText(".username", "oana") + .url(process.env.VUE_DEV_SERVER_URL + "#/login") + .pause(1000) + .url(process.env.VUE_DEV_SERVER_URL + "#/") + .assert.elementPresent(".username") + .assert.containsText(".username", "oana") + .end(); + }, + "Login switch user from oana to vanja": browser => { + browser + .url(process.env.VUE_DEV_SERVER_URL) + .waitForElementVisible("#app", 5000) + .setValue("input[id='inputEmail']", "oana") + .setValue("input[id='inputPassword']", "oa2Na2") + .click("button[type='submit']") + .pause(1000) + .assert.elementPresent(".username") + .assert.containsText(".username", "oana") + .url(process.env.VUE_DEV_SERVER_URL + "#/login") + .setValue("input[id='inputEmail']", "vanja") + .setValue("input[id='inputPassword']", "va2Nja3") + .click("button[type='submit']") + .pause(1000) + .assert.elementPresent(".username") + .assert.containsText(".username", "vanja") + .end(); + } +};
--- a/client/tests/e2e/specs/test.js Fri Jul 06 11:04:52 2018 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,12 +0,0 @@ -// For authoring Nightwatch tests, see -// http://nightwatchjs.org/guide#usage - -module.exports = { - "default e2e tests": browser => { - browser - .url(process.env.VUE_DEV_SERVER_URL) - .waitForElementVisible("#app", 5000) - .assert.elementPresent(".login") - .end(); - } -};