3 interface Chainable<Subject> {
5 logToConsole(message: string, optional?: any): void;
6 text(): Chainable<string>;
10 // Disabling tslint rule since cypress-cucumber has
11 // issues with absolute import paths.
12 // This can be removed when
13 // https://github.com/cypress-io/cypress-browserify-preprocessor/issues/53
16 import { CdHelperClass } from '../../src/app/shared/classes/cd-helper.class';
17 import { Permissions } from '../../src/app/shared/models/permissions';
21 const fillAuth = () => {
22 window.localStorage.setItem('dashboard_username', auth.username);
23 window.localStorage.setItem('dashboard_permissions', auth.permissions);
24 window.localStorage.setItem('user_pwd_expiration_date', auth.pwdExpirationDate);
25 window.localStorage.setItem('user_pwd_update_required', auth.pwdUpdateRequired);
26 window.localStorage.setItem('sso', auth.sso);
29 Cypress.Commands.add('login', () => {
30 const username = Cypress.env('LOGIN_USER') || 'admin';
31 const password = Cypress.env('LOGIN_PWD') || 'admin';
33 if (auth === undefined) {
37 headers: { Accept: CdHelperClass.cdVersionHeader('1', '0') },
38 body: { username: username, password: password }
41 auth.permissions = JSON.stringify(new Permissions(auth.permissions));
42 auth.pwdExpirationDate = String(auth.pwdExpirationDate);
43 auth.pwdUpdateRequired = String(auth.pwdUpdateRequired);
44 auth.sso = String(auth.sso);
53 Cypress.Commands.add('text', { prevSubject: true }, (subject: any) => {
54 return subject.text();
57 Cypress.Commands.add('logToConsole', (message: string, optional?: any) => {
58 cy.task('log', { message: `(${new Date().toISOString()}) ${message}`, optional });