view client/tests/e2e/specs/login.js @ 2039:8b5cc2dffbde unify_imports

e2e
author Thomas Junk <thomas.junk@intevation.de>
date Fri, 25 Jan 2019 12:43:08 +0100
parents 0c5cbbafbd94
children 05cfeeb65411
line wrap: on
line source

/* This is Free Software under GNU Affero General Public License v >= 3.0
 * without warranty, see README.md and license for details.
 *
 * SPDX-License-Identifier: AGPL-3.0-or-later
 * License-Filename: LICENSES/AGPL-3.0.txt
 *
 * Copyright (C) 2018 by via donau
 *   – Österreichische Wasserstraßen-Gesellschaft mbH
 * Software engineering by Intevation GmbH
 *
 * Author(s):
 * Thomas Junk <thomas.junk@intevation.de>
 */

// 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='inputUsername']", "bla")
      .setValue("input[id='inputPassword']", "bla")
      .click("button[type='submit']")
      .waitForElementVisible("#alert", 2000)
      .assert.elementPresent(".alert-danger")
      .end();
  },
  "Login oana success": browser => {
    browser
      .url(process.env.VUE_DEV_SERVER_URL)
      .waitForElementVisible("#app", 5000)
      .setValue("input[id='inputUsername']", "oana")
      .setValue("input[id='inputPassword']", "oa2Na2")
      .click("button[type='submit']")
      .pause(1000)
      .click(".menubutton")
      .pause(1000)
      .assert.elementPresent(".logout")
      .assert.containsText(".logout", "oana")
      .end();
  },
  "Login oana switch url": browser => {
    browser
      .url(process.env.VUE_DEV_SERVER_URL)
      .waitForElementVisible("#app", 5000)
      .setValue("input[id='inputUsername']", "oana")
      .setValue("input[id='inputPassword']", "oa2Na2")
      .click("button[type='submit']")
      .pause(1000)
      .click(".menubutton")
      .pause(1000)
      .assert.elementPresent(".logout")
      .assert.containsText(".logout", "oana")
      .url(process.env.VUE_DEV_SERVER_URL + "#/login")
      .pause(1000)
      .url(process.env.VUE_DEV_SERVER_URL + "#/")
      .assert.elementPresent(".logout")
      .assert.containsText(".logout", "oana")
      .end();
  },
  "Login switch user from oana to vanja": browser => {
    browser
      .url(process.env.VUE_DEV_SERVER_URL)
      .waitForElementVisible("#app", 5000)
      .setValue("input[id='inputUsername']", "oana")
      .setValue("input[id='inputPassword']", "oa2Na2")
      .click("button[type='submit']")
      .pause(1000)
      .click(".menubutton")
      .pause(1000)
      .assert.elementPresent(".logout")
      .assert.containsText(".logout", "oana")
      .url(process.env.VUE_DEV_SERVER_URL + "#/login")
      .setValue("input[id='inputUsername']", "sophie")
      .setValue("input[id='inputPassword']", "so2Phie4")
      .click("button[type='submit']")
      .pause(1000)
      .assert.elementPresent(".logout")
      .assert.containsText(".logout", "sophie")
      .end();
  }
};