user_helpers.js (82 lines of code) (raw):
const commonHelpers = require('./common_helpers');
const loginPage = '.login-page .navless-container';
const homePage = '.page-with-sidebar';
module.exports = {
user: 'root',
password: 'somepass',
name: 'Jeff Douglas',
email: 'jeff@example.com',
login(browser) {
browser
.url(`${process.env.BROWSERSTACK_TEST_SITE}/users/sign_in`)
.waitForElementVisible('body', 1000)
.assert.title('Sign in · GitLab')
.setValue('#user_login',this.user)
.setValue('#user_password', this.password)
.click('input[name="commit"]')
.waitForElementVisible('h2.blank-state-welcome-title', 2000)
.assert.title('Projects · Dashboard · GitLab');
},
logout(browser) {
let logoutItem;
logoutItem = '.header-content .collapse .logout';
commonHelpers.beginTest(browser);
return browser
.waitFor(logoutItem)
.click(logoutItem)
.waitFor(loginPage);
},
register(browser) {
let almostTherePage;
let clearButton;
let confirmAccountLink;
let email;
let emailConfirmBox;
let emailConfirmMessage;
let homePage;
let letterLink;
let mailUrl;
let name;
let newUserEmail;
let newUserPassword;
let newUsernameInput;
let password;
let refreshButton;
let registerBox;
let singUpButton;
let userEmail;
let username;
let usernameInput;
email = this.email;
name = this.name;
username = this.username;
password = this.password;
mailUrl = browser.globals.app.mailUrl;
registerBox = `${loginPage} .pull-right .prepend-top-20 .new_new_user`;
usernameInput = `${registerBox} #new_user_name`;
newUsernameInput = `${registerBox} #new_user_username`;
newUserEmail = `${registerBox} #new_user_email`;
newUserPassword = `${registerBox} #new_user_password`;
singUpButton = `${registerBox} .btn-create`;
clearButton = '.btn.btn-danger';
refreshButton = '.btn.refresh';
userEmail = '.table-hover.letter-opener .active';
letterLink = `${userEmail} a`;
confirmAccountLink = 'p a';
homePage = 'body#content-body';
emailConfirmBox = `${homePage} .flash-container .flash-notice`;
emailConfirmMessage = 'Your email address has been successfully confirmed.';
commonHelpers.beginTest(browser);
return browser
.waitFor(loginPage)
.waitFor(registerBox)
.setValue(usernameInput, name)
.setValue(newUsernameInput, username)
.setValue(newUserEmail, email)
.setValue(newUserPassword, password)
.waitFor(singUpButton)
.click(singUpButton)
.pause(2500)
.waitFor(homePage)
}
}