// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. /// // *************************************************************** // Each command should be properly documented using JSDoc. // See https://jsdoc.app/index.html for reference. // Basic requirements for documentation are the following: // - Meaningful description // - Each parameter with `@params` // - Return value with `@returns` // - Example usage with `@example` // *************************************************************** declare namespace Cypress { interface Chainable { /** * runLdapSync is a task that runs an external request to run an ldap sync job. * it then waits for the ldap sync job to complete. * @param {UserProfile} admin - an admin user * @returns {boolean} - true if sync run successfully */ runLdapSync(admin: UserProfile): boolean; /** * getLdapSyncJobStatus is a task that runs an external request for ldap_sync job status * @param {number} start - start time of the job. * @returns {string} - current status of job */ getLdapSyncJobStatus(start: number): string; /** * doLDAPLogin is a task that runs LDAP login * @param {object} settings - login settings * @param {boolean} useEmail - true if uses email */ doLDAPLogin(settings: object = {}, useEmail = false): Chainable; /** * doLDAPLogout is a task that runs LDAP logout * @param {Object} settings - logout settings */ doLDAPLogout(settings: object = {}): Chainable; /** * visitLDAPSettings is a task that navigates to LDAP settings Page */ visitLDAPSettings(): Chainable; /** * waitForLdapSyncCompletion is a task that runs recursively * until getLdapSyncJobStatus completes or timeouts. * @param {number} start - start time of the job. * @param {number} timeout - the maxmimum time to wait for the job to complete */ waitForLdapSyncCompletion(start: number, timeout: number): void; } }