view client/tests/e2e/specs/login.js @ 5298:4bc14bea3fc9

Fixed check for bottleneck existence in fa import. The contains() function for bottleneck lists (slice) is build upon sort.SearchStrings() which in turn requires the slice to be sorted. Until now the bottleneck list was sorted by ordering in the database request, which depends on LC_COLLATE and might not meet the sort packages expectations. Therefor we now use sort.Strings() to sort it based on the same semantics as expected by SearchStrings().
author wilde@azure1.rgb.intevation.de
date Wed, 11 Nov 2020 10:57:22 +0100
parents 05cfeeb65411
children
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 sophie": 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();
  }
};