// 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`
// Custom command should follow naming convention of having `ui` prefix, e.g. `uiGetProductMenuButton`.
// ***************************************************************
declare namespace Cypress {
interface Chainable {
/**
* Get product switch button
*
* @example
* cy.uiGetProductMenuButton().click();
*/
uiGetProductMenuButton(): Chainable;
/**
* Get product switch menu
*
* @example
* cy.uiGetProductMenu().click();
*/
uiGetProductMenu(): Chainable;
/**
* Open product switch menu
*
* @param {string} item - menu item ex. System Console, Integrations, etc.
*
* @example
* cy.uiOpenProductMenu().click();
*/
uiOpenProductMenu(item: string = ''): Chainable;
/**
* Get set status button
*
* @example
* cy.uiGetSetStatusButton().click();
*/
uiGetSetStatusButton(): Chainable;
/**
* Get profile header
*
* @example
* cy.uiGetProfileHeader();
*/
uiGetProfileHeader(): Chainable;
/**
* Get status menu container
*
* @param {bool} option.exist - Set to false to not verify if the element exists. Otherwise, true (default) to check existence.
* @example
* cy.uiGetStatusMenuContainer({exist: false});
*/
uiGetStatusMenuContainer(option: Record): Chainable;
/**
* Get user menu
*
* @example
* cy.uiGetStatusMenu();
*/
uiGetStatusMenu(): Chainable;
/**
* Open help menu
*
* @param {string} item - menu item ex. Ask the community, Help resources, etc.
*
* @example
* cy.uiOpenHelpMenu();
*/
uiOpenHelpMenu(item: string): Chainable;
/**
* Get help button
*
* @example
* cy.uiGetHelpButton();
*/
uiGetHelpButton(): Chainable;
/**
* Get help menu
*
* @example
* cy.uiGetHelpMenu();
*/
uiGetHelpMenu(): Chainable;
/**
* Open user menu
*
* @param {string} [item] - menu item ex. Profile, Logout, etc.
*
* @example
* cy.uiOpenUserMenu();
*/
uiOpenUserMenu(item?: string): Chainable;
/**
* Get search form container
*
* @example
* cy.uiGetSearchContainer();
*/
uiGetSearchContainer(): Chainable;
/**
* Get search box
*
* @example
* cy.uiGetSearchBox();
*/
uiGetSearchBox(): Chainable;
/**
* Get at-mention button
*
* @example
* cy.uiGetRecentMentionButton();
*/
uiGetRecentMentionButton(): Chainable;
/**
* Get saved posts button
*
* @example
* cy.uiGetSavedPostButton();
*/
uiGetSavedPostButton(): Chainable;
/**
* Get settings button
*
* @example
* cy.uiGetSettingsButton();
*/
uiGetSettingsButton(): Chainable;
/**
* Get settings modal
*
* @example
* cy.uiGetSettingsModal();
*/
uiGetSettingsModal(): Chainable;
/**
* Get channel info button
*
* @example
* cy.uiGetChannelInfoButton();
*/
uiGetChannelInfoButton(): Chainable;
/**
* Open settings modal
*
* @param {string} section - ex. Display, Sidebar, etc.
*
* @example
* cy.uiOpenSettingsModal();
*/
uiOpenSettingsModal(section: string): Chainable;
/**
* User log out via user menu
*
* @example
* cy.uiLogout();
*/
uiLogout(): Chainable;
}
}