Files
upstream-mirror 240db4e2a7
Some checks failed
Server CI / Postgres (shard 0) (push) Has been skipped
Server CI / Postgres (shard 3) (push) Has been skipped
BuildEnv Docker Image / build-image (push) Failing after 4s
BuildEnv Docker Image / build-image-fips (push) Failing after 4s
Migration Review & Release Notes / Generate migration review & release notes (push) Failing after 3s
Server CI / Build Environment (push) Failing after 3s
Server CI / Postgres (shard 1) (push) Has been skipped
Tools CI / check-style (mattermost-govet) (push) Failing after 4s
Server CI / Postgres (shard 2) (push) Has been skipped
Tools CI / check-style (mmgotool) (push) Failing after 3s
Server CI / Elasticsearch v8 Compatibility (push) Has been skipped
Server CI / OpenSearch v2 Compatibility (push) Has been skipped
Server CI / Postgres FIPS (shard 0) (push) Has been skipped
Tools CI / Test (mattermost-govet) (push) Failing after 3s
Server CI / Postgres FIPS (shard 1) (push) Has been skipped
Server CI / Postgres FIPS (shard 2) (push) Has been skipped
Tools CI / Test (mmgotool) (push) Failing after 3s
Server CI / Postgres FIPS (shard 3) (push) Has been skipped
Server CI / Run mmctl tests (push) Has been skipped
Server CI / Run mmctl tests (FIPS) (push) Has been skipped
Server CI / Merge Postgres Test Results (push) Has been skipped
Server CI / Merge Postgres FIPS Test Results (push) Has been skipped
Server CI / Check backport migrations (push) Has been skipped
Server CI / Check generated files (push) Has been skipped
Server CI / check-style (push) Has been skipped
Server CI / Vet API (push) Has been skipped
Server CI / Build mattermost server app (push) Has been skipped
Server CI / Server CI Complete (push) Failing after 2s
Server CI / Server CI Artifacts (push) Has been skipped
Server CI / Sentry Upload (push) Has been skipped
Server CI / Server CI Report (push) Failing after 5m1s
Server CI Nightly Race / Race Detector (push) Has been skipped
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
Webapp CI Cache Warm / Warm Webapp node_modules Cache (push) Has been cancelled
E2E CI Cache Warm / Warm E2E npm Registry Cache (push) Has been cancelled
API / build (push) Has been cancelled
Web App CI / check-types (push) Has been cancelled
Web App CI / check-lint (push) Has been cancelled
Web App CI / check-i18n (push) Has been cancelled
Web App CI / check-external-links (push) Has been cancelled
Web App CI / test (platform) (push) Has been cancelled
Web App CI / test (mattermost-redux) (push) Has been cancelled
Web App CI / test (channels shard 1/4) (push) Has been cancelled
Web App CI / test (channels shard 2/4) (push) Has been cancelled
Web App CI / test (channels shard 3/4) (push) Has been cancelled
Web App CI / test (channels shard 4/4) (push) Has been cancelled
Web App CI / upload-coverage (push) Has been cancelled
Web App CI / build (push) Has been cancelled
YAML Lint / yamllint (push) Has been cancelled
Push mirrored docker images / cd/Push mirrored docker images (push) Has been cancelled
docs-cd / Build and deploy docs (push) Has been cancelled
Docs CI / build (push) Has been cancelled
E2E Cache Warm: Cypress deps / Warm Cypress deps cache (push) Has been cancelled
Scorecards supply-chain security / Scorecard analysis (push) Has been cancelled
Server CI Weekly / Postgres FIPS (push) Has been skipped
Server CI Weekly / Run mmctl tests (FIPS) (push) Has been skipped
Server CI Weekly / Postgres with binary parameters (push) Has been skipped
Server CI Weekly / Build Environment (push) Failing after 1s
Server CI Nightly Race / Build Environment (push) Failing after 1s
Server CI Cache Warm / Warm Go Module and Build Cache (push) Failing after 2s
snapshot of https://github.com/mattermost/mattermost.git (master, 2026-09-16; blobs > 131072B omitted)
2026-09-16 00:29:55 +05:00

153 lines
5.4 KiB
TypeScript

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
/// <reference types="cypress" />
// ***************************************************************
// 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
// - Specific link to https://api.mattermost.com
// - Each parameter with `@params`
// - Return value with `@returns`
// - Example usage with `@example`
// Custom command should follow naming convention of having `api` prefix, e.g. `apiLogin`.
// ***************************************************************
interface PluginStatus {
isInstalled: boolean;
isActive: boolean;
}
interface PluginTestInfo {
id: string;
version: string;
url: string;
filename: string;
}
declare namespace Cypress {
interface Chainable {
/**
* Get plugins.
* See https://api.mattermost.com/#tag/plugins/paths/~1plugins/get
* @returns {PluginsResponse} `out.plugins` as `PluginsResponse`
*
* @example
* cy.apiGetAllPlugins().then(({plugins}) => {
* // do something with plugins
* });
*/
apiGetAllPlugins(): Chainable<PluginsResponse>;
/**
* Get plugins.
* @param {string} pluginId - plugin ID
* @param {string} version - plugin version
*
* @returns {PluginStatus} - plugin status if upload and active
*
* @example
* cy.apiGetPluginStatus(pluginId, version).then((status) => {
* // do something with status
* });
*/
apiGetPluginStatus(pluginId: string, version?: string): Chainable<PluginStatus>;
/**
* Upload plugin.
* See https://api.mattermost.com/#tag/plugins/paths/~1plugins/post
* @param {string} filename - name of the plugin to upload
* @returns {Response} response: Cypress-chainable response
*
* @example
* cy.apiUploadPlugin('filename');
*/
apiUploadPlugin(filename: string): Chainable<Response>;
/**
* Upload a plugin and enable.
* - If a plugin is already active, then it will immediately return.
* - If a plugin is inactive, then it will be enabled only.
* - If a plugin is not found in the server, then it will be uploaded
* and the enabled.
* - On plugin upload, if `pluginTestInfo` includes a `url` field, then
* the plugin will be installed via URL. Otherwise if `filename` field
* is present, then it will look at such filename under fixtures folder
* and then use the file to upload.
*
* @param {PluginTestInfo} pluginTestInfo - plugin test info
* @returns {Response} response: Cypress-chainable response
*
* @example
* cy.apiUploadAndEnablePlugin(pluginTestInfo);
*/
apiUploadAndEnablePlugin(pluginTestInfo: PluginTestInfo): Chainable<Response>;
/**
* Install plugin from url.
* See https://api.mattermost.com/#tag/plugins/paths/~1plugins~1install_from_url/post
* @param {string} pluginDownloadUrl - URL used to download the plugin
* @param {string} force - Set to 'true' to overwrite a previously installed plugin with the same ID, if any
* @returns {PluginManifest} `out.plugin` as `PluginManifest`
*
* @example
* cy.apiInstallPluginFromUrl('url', 'true').then(({plugin}) => {
* // do something with plugin
* });
*/
apiInstallPluginFromUrl(pluginDownloadUrl: string, force: string): Chainable<PluginManifest>;
/**
* Enable plugin.
* See https://api.mattermost.com/#tag/plugins/paths/~1plugins~1{plugin_id}~1enable/post
* @param {string} pluginId - Id of the plugin to enable
* @returns {string} `out.status`
*
* @example
* cy.apiEnablePluginById('pluginId');
*/
apiEnablePluginById(pluginId: string): Chainable<Record<string, any>>;
/**
* Disable plugin.
* See https://api.mattermost.com/#tag/plugins/paths/~1plugins~1{plugin_id}~disable/post
* @param {string} pluginId - Id of the plugin to disable
* @returns {string} `out.status`
*
* @example
* cy.apiDisablePluginById('pluginId');
*/
apiDisablePluginById(pluginId: string): Chainable<Record<string, any>>;
/**
* Disable all plugins installed that are not prepackaged.
*
* @example
* cy.apiDisableNonPrepackagedPlugins();
*/
apiDisableNonPrepackagedPlugins(): Chainable<Record<string, any>>;
/**
* Remove plugin.
* See https://api.mattermost.com/#tag/plugins/paths/~1plugins~1{plugin_id}/delete
* @param {string} pluginId - Id of the plugin to uninstall
* @returns {string} `out.status`
*
* @example
* cy.apiRemovePluginById('url');
*/
apiRemovePluginById(pluginId: string, force: string): Chainable<Record<string, any>>;
/**
* Removes all active and inactive plugins.
*
* @example
* cy.apiUninstallAllPlugins();
*/
apiUninstallAllPlugins(): Chainable;
}
}