225 lines
7.1 KiB
JavaScript
225 lines
7.1 KiB
JavaScript
var utils = require('../../utils');
|
|
|
|
var chai = require('chai');
|
|
var chaiAsPromised = require('chai-as-promised');
|
|
|
|
chai.use(chaiAsPromised);
|
|
var expect = chai.expect;
|
|
|
|
describe('auth', function() {
|
|
before(async function() {
|
|
await utils.common.logout();
|
|
});
|
|
|
|
it('login', async function() {
|
|
browser.get(browser.params.glob.host + 'login');
|
|
|
|
await utils.common.waitLoader();
|
|
|
|
utils.common.takeScreenshot("auth", "login");
|
|
|
|
var username = $('input[name="username"]');
|
|
username.sendKeys('admin');
|
|
|
|
var password = $('input[name="password"]');
|
|
password.sendKeys('123123');
|
|
|
|
$('.submit-button').click();
|
|
|
|
await utils.common.waitLoader();
|
|
|
|
let url = await browser.getCurrentUrl();
|
|
|
|
expect(url).to.be.equal(browser.params.glob.host);
|
|
});
|
|
|
|
describe('page without perms', function() {
|
|
let path = 'project/project-4/';
|
|
|
|
before(async function() {
|
|
await utils.common.logout();
|
|
});
|
|
|
|
it("redirect to login", async function() {
|
|
browser.get(browser.params.glob.host + path);
|
|
|
|
await utils.common.waitLoader();
|
|
|
|
let url = await browser.getCurrentUrl();
|
|
|
|
expect(url).to.be.equal(browser.params.glob.host + 'login?unauthorized&next=' + encodeURIComponent('/' + path));
|
|
});
|
|
|
|
it("login redirect to the previous one", async function() {
|
|
$('input[name="username"]').sendKeys('admin');
|
|
$('input[name="password"]').sendKeys('123123');
|
|
$('.submit-button').click();
|
|
|
|
await utils.common.waitLoader();
|
|
|
|
let url = await browser.getCurrentUrl();
|
|
|
|
expect(url).to.be.equal(browser.params.glob.host + path);
|
|
});
|
|
});
|
|
|
|
describe("user", function() {
|
|
var user = {};
|
|
|
|
before(async function() {
|
|
await utils.common.logout();
|
|
});
|
|
|
|
it("logout", async function() {
|
|
await utils.common.login('admin', '123123');
|
|
|
|
browser.actions().mouseMove($('div[tg-dropdown-user]')).perform();
|
|
$$('.dropdown-user li a').last().click();
|
|
|
|
await utils.common.waitLoader();
|
|
|
|
let url = await browser.getCurrentUrl();
|
|
|
|
await browser.wait(async () => {
|
|
return url === browser.params.glob.host + 'discover';
|
|
}, 2000);
|
|
});
|
|
|
|
describe("register", function() {
|
|
it('screenshot', async function() {
|
|
browser.get(browser.params.glob.host + 'register');
|
|
|
|
await utils.common.waitLoader();
|
|
|
|
utils.common.takeScreenshot("auth", "register");
|
|
});
|
|
|
|
it('register validation', function() {
|
|
browser.get(browser.params.glob.host + 'register');
|
|
|
|
$('.submit-button').click();
|
|
|
|
utils.common.takeScreenshot("auth", "register-validation");
|
|
|
|
expect($$('.checksley-required').count()).to.be.eventually.equal(4);
|
|
});
|
|
|
|
it('register ok', async function() {
|
|
browser.get(browser.params.glob.host + 'register');
|
|
|
|
user.username = "username-" + Math.random();
|
|
user.fullname = "fullname-" + Math.random();
|
|
user.password = "passsword-" + Math.random();
|
|
user.email = "email-" + Math.random() + "@taiga.io";
|
|
|
|
$('input[name="username"]').sendKeys(user.username);
|
|
$('input[name="full_name"]').sendKeys(user.fullname);
|
|
$('input[name="email"]').sendKeys(user.email);
|
|
$('input[name="password"]').sendKeys(user.password);
|
|
|
|
$('.submit-button').click();
|
|
|
|
await utils.common.waitLoader();
|
|
|
|
let currentUrl = await browser.getCurrentUrl();
|
|
|
|
expect(currentUrl).to.be.equal(browser.params.glob.host);
|
|
|
|
browser.get(browser.params.glob.host + '/');
|
|
|
|
await utils.common.waitLoader();
|
|
await utils.common.closeJoyride();
|
|
});
|
|
});
|
|
|
|
describe("change password", function() {
|
|
it("error", async function() {
|
|
browser.get(browser.params.glob.host + 'user-settings/user-change-password');
|
|
await browser.waitForAngular();
|
|
|
|
$('#current-password').sendKeys('wrong');
|
|
$('#new-password').sendKeys('123123');
|
|
$('#retype-password').sendKeys('123123');
|
|
|
|
$('.submit-button').click();
|
|
|
|
let open = await utils.notifications.error.open();
|
|
expect(open).to.be.equal(true);
|
|
});
|
|
|
|
it("success", async function() {
|
|
browser.get(browser.params.glob.host + 'user-settings/user-change-password');
|
|
await browser.waitForAngular();
|
|
|
|
$('#current-password').sendKeys(user.password);
|
|
$('#new-password').sendKeys(user.password);
|
|
$('#retype-password').sendKeys(user.password);
|
|
|
|
$('.submit-button').click();
|
|
|
|
let open = await utils.notifications.success.open();
|
|
expect(open).to.be.equal(true);
|
|
|
|
await utils.notifications.success.close();
|
|
});
|
|
});
|
|
|
|
describe("remember password", function() {
|
|
before(async function() {
|
|
await utils.common.logout();
|
|
});
|
|
|
|
beforeEach(async function() {
|
|
browser.get(browser.params.glob.host + 'forgot-password');
|
|
});
|
|
|
|
it ("screenshot", async function() {
|
|
await utils.common.waitLoader();
|
|
|
|
utils.common.takeScreenshot("auth", "remember-password");
|
|
});
|
|
|
|
it ("error", function() {
|
|
$('input[name="username"]').sendKeys("xxxxxxxx");
|
|
$('.submit-button').click();
|
|
|
|
expect(utils.notifications.errorLight.open()).to.be.eventually.equal(true);
|
|
});
|
|
|
|
it ("success", async function() {
|
|
$('input[name="username"]').sendKeys(user.username);
|
|
$('.submit-button').click();
|
|
|
|
await utils.lightbox.open('.lightbox-generic-success');
|
|
|
|
utils.common.takeScreenshot('auth', 'remember-password-success');
|
|
|
|
$('.lightbox-generic-success .button-green').click();
|
|
|
|
await utils.lightbox.close('.lightbox-generic-success');
|
|
});
|
|
});
|
|
|
|
describe("accout", function() {
|
|
before(async function() {
|
|
await utils.common.login(user.username, user.password);
|
|
});
|
|
|
|
it("delete", async function() {
|
|
browser.get(browser.params.glob.host + 'user-settings/user-profile');
|
|
$('.delete-account').click();
|
|
|
|
await utils.lightbox.open('.lightbox-delete-account');
|
|
|
|
utils.common.takeScreenshot("auth", "delete-account");
|
|
|
|
$('.lightbox-delete-account .button-red').click();
|
|
|
|
let url = await browser.getCurrentUrl();
|
|
|
|
expect(url).to.be.equal(browser.params.glob.host + 'login');
|
|
});
|
|
});
|
|
});
|
|
});
|