// load type definitions that come with Cypress module // declare namespace Cypress { interface Chainable { /** * Custom command to setup the testing environment. */ setup(): Chainable; /** * Custom command to login the user programmatically using the fleet API. */ login(email?: string, password?: string): Chainable; /** * Custom command to login the user programmatically using the fleet API * but with a Cypress session wrapper. */ loginWithCySession(email?: string, password?: string): Chainable; /** * Custom command to log out the current user. */ logout(): Chainable; /** * Custom command to add new queries by default. */ seedQueries(): Chainable; /** * Custom command to add new scheduled queries by default. */ seedSchedule(): Chainable; /** * Custom command to add new policies by default. */ seedPolicies(teamName?: string): Chainable; /** * Custom command to add a new user in Fleet (via fleetctl). */ addUser(options?: { email?: string; password?: string; globalRole?: string; }): Chainable; /** * Custom command to setup the SMTP configuration for this testing environment. * * NOTE: login() command is required before this, as it will make authenticated * requests. */ setupSMTP(): Chainable; /** * Custom command to set up SSO auth with the local server. * * NOTE: login() command is required before this, as it will make authenticated * requests. */ setupSSO(enable_idp_login?: boolean): Chainable; /** * Custom command to login a user1@example.com via SSO. */ loginSSO(): Chainable; /** * Custom command to get the emails handled by the Mailhog server. */ getEmails(): Chainable; /** * Custom command to seed the Free tier teams/users. * * NOTE: login() command is required before this, as it will make authenticated * requests. */ seedFree(): Chainable; /** * Custom command to seed the Premium tier teams/users. * * NOTE: login() command is required before this, as it will make authenticated * requests. */ seedPremium(): Chainable; /** * Custom command to seed the teams/users as represented in Figma. * * NOTE: login() command is required before this, as it will make authenticated * requests. */ seedFigma(): Chainable; /** * Custom command to add Docker osquery host. * * NOTE: login() command is required before this, as it will make authenticated * requests. */ addDockerHost(teamName?: string): Chainable; /** * Custom command to stop any running Docker hosts. */ stopDockerHost(): Chainable; /** * Custom command to clear downloaded files from test machine. */ clearDownloads(): Chainable; /** * Custom command to get any element describe only if it is attached to the DOM. */ getAttached(selector: string): Chainable; } }