UNPKG

cumulocity-cypress

Version:
43 lines (42 loc) 1.93 kB
import { C8yAuthOptions } from "./auth"; declare global { namespace Cypress { interface Chainable { /** * Login to Cumulocity. * * Uses env variables `C8Y_TOKEN` (preferred) or `C8Y_USERNAME` and `C8Y_PASSWORD` if no arguments or no * auth options are passed. The logged in user will be stored in `C8Y_LOGGED_IN_USER`. * * Default values for login options: * ``` * { * disableGainsight: true, * hideCookieBanner: true, * useSession: true, // for Cypress 11+ * validationFn: () => { * cy.getCookie('XSRF-TOKEN').should('exist'); * cy.getCookie('authorization').should('exist'); * } * } * ``` * * @param {string} user - the user to login to Cumulocity * @param {string} password - the password to login to Cumulocity * @param {C8yLoginOptions} options - login options to use for login to Cumulocity */ login(options?: C8yLoginOptions): Chainable<void>; login(user: string, options?: C8yLoginOptions): Chainable<void>; login(user: string, password: string, options?: C8yLoginOptions): Chainable<void>; login(auth: C8yAuthOptions, options?: C8yLoginOptions): Chainable<void>; } } type C8yLoginOptions = { useSession?: boolean; disableGainsight?: boolean; hideCookieBanner?: boolean; validationFn?: () => boolean; }; type C8yLoginAuthArgs = [options?: C8yLoginOptions] | [user: string, options?: C8yLoginOptions] | [user: string, password: string, options?: C8yLoginOptions] | [authOptions: C8yAuthOptions, options?: C8yLoginOptions]; } export declare const defaultLoginOptions: () => C8yLoginOptions;