mirror of
https://github.com/mattermost/mattermost.git
synced 2026-02-03 20:40:00 -05:00
E2E/Cypress: Upgrade dependencies (#33665)
* upgrade cypress and other dependecies * fix eslint * remove axios-retry and update eslint * fix tests * fix lint on trailing spaces --------- Co-authored-by: Mattermost Build <build@mattermost.com>
This commit is contained in:
parent
bb979f6f9f
commit
8bf422d6e2
145 changed files with 6425 additions and 13380 deletions
|
|
@ -221,9 +221,7 @@ $(if mme2e_is_token_in_list "keycloak" "$ENABLED_DOCKER_SERVICES"; then
|
|||
$(if mme2e_is_token_in_list "cypress" "$ENABLED_DOCKER_SERVICES"; then
|
||||
echo '
|
||||
cypress:
|
||||
image: "cypress/browsers:node-18.16.1-chrome-114.0.5735.133-1-ff-114.0.2-edge-114.0.1823.51-1"
|
||||
### Temporarily disabling this image, until both the amd64 and arm64 version are mirrored
|
||||
# image: "mattermostdevelopment/mirrored-cypress-browsers-public:node-18.16.1-chrome-114.0.5735.133-1-ff-114.0.2-edge-114.0.1823.51-1"
|
||||
image: "cypress/browsers:node-22.18.0-chrome-139.0.7258.66-1-ff-141.0.3-edge-138.0.3351.121-1"
|
||||
entrypoint: ["/bin/bash", "-c"]
|
||||
command: ["until [ -f /var/run/mm_terminate ]; do sleep 5; done"]
|
||||
env_file:
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
node_modules
|
||||
|
|
@ -1,130 +0,0 @@
|
|||
{
|
||||
"extends": [
|
||||
"plugin:mattermost/react",
|
||||
"plugin:cypress/recommended"
|
||||
],
|
||||
"plugins": [
|
||||
"@babel/eslint-plugin",
|
||||
"mattermost",
|
||||
"import",
|
||||
"no-only-tests",
|
||||
"@typescript-eslint",
|
||||
"cypress"
|
||||
],
|
||||
"parser": "@typescript-eslint/parser",
|
||||
"env": {
|
||||
"cypress/globals": true
|
||||
},
|
||||
"settings": {
|
||||
"react": {
|
||||
"pragma": "React",
|
||||
"version": "detect"
|
||||
}
|
||||
},
|
||||
"rules": {
|
||||
"header/header": [
|
||||
2,
|
||||
"line",
|
||||
" Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n See LICENSE.txt for license information.",
|
||||
2
|
||||
],
|
||||
"cypress/assertion-before-screenshot": "warn",
|
||||
"cypress/no-assigning-return-values": "error",
|
||||
"cypress/no-force": "warn",
|
||||
"cypress/no-async-tests": "error",
|
||||
"cypress/no-pause": "error",
|
||||
"cypress/no-unnecessary-waiting": 0,
|
||||
"cypress/unsafe-to-chain-command": 0,
|
||||
"func-names": 0,
|
||||
"import/no-unresolved": 0,
|
||||
"max-nested-callbacks": 0,
|
||||
"no-unused-expressions": 0,
|
||||
"no-process-env": 0,
|
||||
"no-duplicate-imports": 0,
|
||||
"no-undefined": 0,
|
||||
"no-use-before-define": 0,
|
||||
"import/no-duplicates": 2,
|
||||
"mattermost/use-external-link": 2,
|
||||
"eol-last": ["error", "always"],
|
||||
"import/order": [
|
||||
0,
|
||||
{
|
||||
"newlines-between": "always-and-inside-groups",
|
||||
"groups": [
|
||||
"builtin",
|
||||
"external",
|
||||
[
|
||||
"internal",
|
||||
"parent"
|
||||
],
|
||||
"sibling",
|
||||
"index"
|
||||
]
|
||||
}
|
||||
],
|
||||
"no-only-tests/no-only-tests": ["error", {"focus": ["only"]}],
|
||||
"max-lines": ["warn", {"max": 800, "skipBlankLines": true, "skipComments": true}]
|
||||
},
|
||||
"overrides": [
|
||||
{
|
||||
"files": ["**/*.ts"],
|
||||
"extends": [
|
||||
"plugin:@typescript-eslint/recommended"
|
||||
],
|
||||
"rules": {
|
||||
"camelcase": 0,
|
||||
"no-shadow": 0,
|
||||
"import/no-unresolved": 0, // ts handles this better
|
||||
"@typescript-eslint/naming-convention": [
|
||||
2,
|
||||
{
|
||||
"selector": "function",
|
||||
"format": ["camelCase", "PascalCase"]
|
||||
},
|
||||
{
|
||||
"selector": "variable",
|
||||
"format": ["camelCase", "PascalCase", "UPPER_CASE"]
|
||||
},
|
||||
{
|
||||
"selector": "parameter",
|
||||
"format": ["camelCase", "PascalCase"],
|
||||
"leadingUnderscore": "allow"
|
||||
},
|
||||
{
|
||||
"selector": "typeLike",
|
||||
"format": ["PascalCase"]
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/no-explicit-any": "off",
|
||||
"@typescript-eslint/no-non-null-assertion": 0,
|
||||
"@typescript-eslint/no-unused-vars": [
|
||||
2,
|
||||
{
|
||||
"vars": "all",
|
||||
"args": "after-used"
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/no-var-requires": 0,
|
||||
"@typescript-eslint/no-empty-function": 0,
|
||||
"@typescript-eslint/prefer-interface": 0,
|
||||
"@typescript-eslint/explicit-function-return-type": 0,
|
||||
"@typescript-eslint/explicit-module-boundary-types": 0,
|
||||
"@typescript-eslint/indent": [
|
||||
2,
|
||||
4,
|
||||
{
|
||||
"SwitchCase": 0
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/no-use-before-define": [
|
||||
2,
|
||||
{
|
||||
"classes": false,
|
||||
"functions": false,
|
||||
"variables": false
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -59,7 +59,7 @@ export default defineConfig({
|
|||
},
|
||||
e2e: {
|
||||
setupNodeEvents(on, config) {
|
||||
return require('./tests/plugins/index.js')(on, config); // eslint-disable-line global-require
|
||||
return require('./tests/plugins/index.js')(on, config);
|
||||
},
|
||||
baseUrl: process.env.MM_SERVICESETTINGS_SITEURL || 'http://localhost:8065',
|
||||
excludeSpecPattern: '**/node_modules/**/*',
|
||||
|
|
|
|||
96
e2e-tests/cypress/eslint.config.mjs
Normal file
96
e2e-tests/cypress/eslint.config.mjs
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
import typescriptEslint from '@typescript-eslint/eslint-plugin';
|
||||
import globals from 'globals';
|
||||
import tsParser from '@typescript-eslint/parser';
|
||||
import path from 'node:path';
|
||||
import {fileURLToPath} from 'node:url';
|
||||
import js from '@eslint/js';
|
||||
import {FlatCompat} from '@eslint/eslintrc';
|
||||
import eslintPluginHeader from 'eslint-plugin-header';
|
||||
import pluginCypress from 'eslint-plugin-cypress';
|
||||
import noOnlyTest from 'eslint-plugin-no-only-tests';
|
||||
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = path.dirname(__filename);
|
||||
const compat = new FlatCompat({
|
||||
baseDirectory: __dirname,
|
||||
recommendedConfig: js.configs.recommended,
|
||||
allConfig: js.configs.all,
|
||||
});
|
||||
|
||||
eslintPluginHeader.rules.header.meta.schema = false;
|
||||
|
||||
export default [
|
||||
{
|
||||
ignores: ['**/node_modules', '**/logs', '**/results'],
|
||||
},
|
||||
...compat
|
||||
.extends('eslint:recommended', 'plugin:@typescript-eslint/recommended', 'plugin:import/recommended')
|
||||
.map((config) => ({
|
||||
...config,
|
||||
files: ['**/*.ts', '**/*.js'],
|
||||
})),
|
||||
{
|
||||
files: ['**/*.ts', '**/*.js'],
|
||||
plugins: {
|
||||
'@typescript-eslint': typescriptEslint,
|
||||
header: eslintPluginHeader,
|
||||
cypress: pluginCypress,
|
||||
'no-only-tests': noOnlyTest,
|
||||
},
|
||||
languageOptions: {
|
||||
globals: {
|
||||
...globals.node,
|
||||
},
|
||||
parser: tsParser,
|
||||
ecmaVersion: 5,
|
||||
sourceType: 'module',
|
||||
},
|
||||
settings: {
|
||||
'import/resolver': {
|
||||
node: true,
|
||||
},
|
||||
},
|
||||
rules: {
|
||||
'cypress/assertion-before-screenshot': 'warn',
|
||||
'cypress/no-assigning-return-values': 'error',
|
||||
'cypress/no-force': 'off',
|
||||
'cypress/no-async-tests': 'error',
|
||||
'cypress/no-pause': 'error',
|
||||
'cypress/no-unnecessary-waiting': 0,
|
||||
'cypress/unsafe-to-chain-command': 0,
|
||||
'func-names': 0,
|
||||
'import/no-unresolved': 0,
|
||||
'max-nested-callbacks': 0,
|
||||
'no-unused-expressions': 0,
|
||||
'no-process-env': 0,
|
||||
'no-duplicate-imports': 0,
|
||||
'no-undefined': 0,
|
||||
'no-use-before-define': 0,
|
||||
'no-only-tests/no-only-tests': ['error', {'focus': ['only']}],
|
||||
'no-console': 'error',
|
||||
'@typescript-eslint/explicit-module-boundary-types': 'off',
|
||||
'@typescript-eslint/no-explicit-any': 'off',
|
||||
'@typescript-eslint/no-require-imports': 'off',
|
||||
'@typescript-eslint/no-unused-expressions': 'off',
|
||||
'@typescript-eslint/no-var-requires': 'off',
|
||||
'header/header': [
|
||||
'error',
|
||||
'line',
|
||||
' Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n See LICENSE.txt for license information.',
|
||||
2,
|
||||
],
|
||||
'import/no-duplicates': 2,
|
||||
'import/order': [
|
||||
'error',
|
||||
{
|
||||
'newlines-between': 'always',
|
||||
groups: ['builtin', 'external', 'internal', 'parent', 'sibling', 'index'],
|
||||
},
|
||||
],
|
||||
'import/no-unresolved': 'off',
|
||||
'max-lines': ['warn', {'max': 800, 'skipBlankLines': true, 'skipComments': true}],
|
||||
'eol-last': ['error', 'always'],
|
||||
'no-trailing-spaces': 'error',
|
||||
},
|
||||
},
|
||||
];
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
/* eslint-disable no-await-in-loop, no-console */
|
||||
/* eslint-disable no-console */
|
||||
|
||||
/*
|
||||
* This command, which is normally used in CI, generates test cycle in full or partial
|
||||
|
|
|
|||
19125
e2e-tests/cypress/package-lock.json
generated
19125
e2e-tests/cypress/package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
|
@ -1,81 +1,84 @@
|
|||
{
|
||||
"name": "cypress",
|
||||
"devDependencies": {
|
||||
"@aws-sdk/client-s3": "3.554.0",
|
||||
"@aws-sdk/lib-storage": "3.554.0",
|
||||
"@babel/eslint-parser": "7.24.1",
|
||||
"@babel/eslint-plugin": "7.23.5",
|
||||
"@cypress/request": "3.0.1",
|
||||
"@mattermost/client": "10.2.0",
|
||||
"@mattermost/types": "10.2.0",
|
||||
"@testing-library/cypress": "10.0.1",
|
||||
"@types/async": "3.2.24",
|
||||
"@aws-sdk/client-s3": "3.864.0",
|
||||
"@aws-sdk/lib-storage": "3.864.0",
|
||||
"@babel/eslint-parser": "7.28.0",
|
||||
"@babel/eslint-plugin": "7.27.1",
|
||||
"@cypress/request": "3.0.9",
|
||||
"@eslint/js": "9.34.0",
|
||||
"@mattermost/client": "10.9.0",
|
||||
"@mattermost/types": "10.9.0",
|
||||
"@testing-library/cypress": "10.0.3",
|
||||
"@types/async": "3.2.25",
|
||||
"@types/authenticator": "1.1.4",
|
||||
"@types/express": "4.17.21",
|
||||
"@types/express": "5.0.3",
|
||||
"@types/fs-extra": "11.0.4",
|
||||
"@types/lodash": "4.17.0",
|
||||
"@types/lodash": "4.17.20",
|
||||
"@types/lodash.intersection": "4.4.9",
|
||||
"@types/lodash.mapkeys": "4.6.9",
|
||||
"@types/lodash.without": "4.4.9",
|
||||
"@types/mime-types": "2.1.4",
|
||||
"@types/mime-types": "3.0.1",
|
||||
"@types/mochawesome": "6.2.4",
|
||||
"@types/pdf-parse": "1.1.4",
|
||||
"@types/pdf-parse": "1.1.5",
|
||||
"@types/recursive-readdir": "2.2.4",
|
||||
"@types/shelljs": "0.8.15",
|
||||
"@types/uuid": "9.0.8",
|
||||
"@typescript-eslint/eslint-plugin": "6.21.0",
|
||||
"@typescript-eslint/parser": "6.21.0",
|
||||
"async": "3.2.5",
|
||||
"@types/shelljs": "0.8.17",
|
||||
"@types/uuid": "10.0.0",
|
||||
"@typescript-eslint/eslint-plugin": "8.39.1",
|
||||
"@typescript-eslint/parser": "8.39.1",
|
||||
"async": "3.2.6",
|
||||
"authenticator": "1.1.5",
|
||||
"axios": "1.6.8",
|
||||
"axios-retry": "3.8.0",
|
||||
"chai": "5.1.0",
|
||||
"axios": "1.11.0",
|
||||
"chai": "5.2.1",
|
||||
"chalk": "4.1.2",
|
||||
"client-oauth2": "github:larkox/js-client-oauth2#e24e2eb5dfcbbbb3a59d095e831dbe0012b0ac49",
|
||||
"cross-env": "7.0.3",
|
||||
"cypress": "13.13.2",
|
||||
"cross-env": "10.0.0",
|
||||
"cypress": "14.5.4",
|
||||
"cypress-file-upload": "5.0.8",
|
||||
"cypress-multi-reporters": "1.6.4",
|
||||
"cypress-multi-reporters": "2.0.5",
|
||||
"cypress-plugin-tab": "1.0.5",
|
||||
"cypress-real-events": "1.14.0",
|
||||
"cypress-wait-until": "3.0.1",
|
||||
"dayjs": "1.11.10",
|
||||
"cypress-wait-until": "3.0.2",
|
||||
"dayjs": "1.11.13",
|
||||
"deepmerge": "4.3.1",
|
||||
"dotenv": "16.4.5",
|
||||
"eslint": "8.56.0",
|
||||
"eslint-import-resolver-webpack": "0.13.8",
|
||||
"eslint-plugin-cypress": "2.15.2",
|
||||
"dotenv": "17.2.1",
|
||||
"eslint": "9.33.0",
|
||||
"eslint-import-resolver-webpack": "0.13.10",
|
||||
"eslint-plugin-cypress": "5.1.0",
|
||||
"eslint-plugin-header": "3.1.1",
|
||||
"eslint-plugin-import": "2.29.1",
|
||||
"eslint-plugin-import": "2.32.0",
|
||||
"eslint-plugin-mattermost": "github:mattermost/eslint-plugin-mattermost#5b0c972eacf19286e4c66221b39113bf8728a99e",
|
||||
"eslint-plugin-no-only-tests": "3.1.0",
|
||||
"eslint-plugin-react": "7.34.1",
|
||||
"express": "4.19.2",
|
||||
"eslint-plugin-no-only-tests": "3.3.0",
|
||||
"eslint-plugin-react": "7.37.5",
|
||||
"express": "5.1.0",
|
||||
"extract-zip": "2.0.1",
|
||||
"globals": "16.3.0",
|
||||
"jiti": "2.5.1",
|
||||
"knex": "3.1.0",
|
||||
"localforage": "1.10.0",
|
||||
"lodash.intersection": "4.4.0",
|
||||
"lodash.mapkeys": "4.6.0",
|
||||
"lodash.without": "4.4.0",
|
||||
"lodash.xor": "4.5.0",
|
||||
"mime": "4.0.1",
|
||||
"mime-types": "2.1.35",
|
||||
"mocha": "10.4.0",
|
||||
"mime": "4.0.7",
|
||||
"mime-types": "3.0.1",
|
||||
"mocha": "11.7.1",
|
||||
"mocha-junit-reporter": "2.2.1",
|
||||
"mocha-multi-reporters": "1.5.1",
|
||||
"mochawesome": "7.1.3",
|
||||
"mochawesome-merge": "4.3.0",
|
||||
"mochawesome-merge": "4.4.1",
|
||||
"mochawesome-report-generator": "6.2.0",
|
||||
"moment-timezone": "0.5.45",
|
||||
"moment-timezone": "0.6.0",
|
||||
"mysql": "2.18.1",
|
||||
"path": "0.12.7",
|
||||
"pdf-parse": "1.1.1",
|
||||
"pg": "8.11.5",
|
||||
"pg": "8.16.3",
|
||||
"recursive-readdir": "2.2.3",
|
||||
"shelljs": "0.8.5",
|
||||
"timezones.json": "1.7.1",
|
||||
"typescript": "5.4.5",
|
||||
"uuid": "9.0.1",
|
||||
"shelljs": "0.10.0",
|
||||
"timezones.json": "1.7.2",
|
||||
"typescript": "5.9.2",
|
||||
"typescript-eslint": "8.41.0",
|
||||
"uuid": "11.1.0",
|
||||
"yargs": "17.7.2"
|
||||
},
|
||||
"overrides": {
|
||||
|
|
@ -100,7 +103,7 @@
|
|||
"test": "cross-env TZ=Etc/UTC cypress run",
|
||||
"test:ci": "node run_tests.js",
|
||||
"uniq-meta": "grep -r \"^// $META:\" cypress | grep -ow '@\\w*' | sort | uniq",
|
||||
"check": "eslint --ext .js,.ts . --quiet --cache",
|
||||
"fix": "eslint --ext .js,.ts . --quiet --fix --cache"
|
||||
"check": "eslint .",
|
||||
"fix": "eslint . --quiet --fix --cache"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
/* eslint-disable no-await-in-loop, no-console */
|
||||
/* eslint-disable no-console */
|
||||
|
||||
/*
|
||||
* This command, which is normally used in CI, runs Cypress test in full or partial
|
||||
|
|
@ -24,8 +24,6 @@
|
|||
* - will run all the specs available from the Automation dashboard
|
||||
*/
|
||||
|
||||
const axios = require('axios');
|
||||
const axiosRetry = require('axios-retry');
|
||||
const chalk = require('chalk');
|
||||
const cypress = require('cypress');
|
||||
|
||||
|
|
@ -39,10 +37,6 @@ const {writeJsonToFile} = require('./utils/report');
|
|||
const {MOCHAWESOME_REPORT_DIR, RESULTS_DIR} = require('./utils/constants');
|
||||
|
||||
require('dotenv').config();
|
||||
axiosRetry(axios, {
|
||||
retries: 5,
|
||||
retryDelay: axiosRetry.exponentialDelay,
|
||||
});
|
||||
|
||||
const {
|
||||
BRANCH,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
/* eslint-disable no-await-in-loop, no-console */
|
||||
/* eslint-disable no-console */
|
||||
|
||||
/*
|
||||
* This command, which normally use in CI, runs Cypress test in full or partial
|
||||
|
|
@ -107,7 +107,7 @@ async function runTests() {
|
|||
printMessage(sortedFiles, i, j + 1, count);
|
||||
|
||||
const testFile = sortedFiles[i];
|
||||
var testFileAttempt = 1;
|
||||
let testFileAttempt = 1;
|
||||
if (testFile in testPasses === false) {
|
||||
testPasses[testFile] = {attempt: 1};
|
||||
} else {
|
||||
|
|
@ -154,8 +154,8 @@ async function runTests() {
|
|||
},
|
||||
});
|
||||
|
||||
for (var testCase of result.runs[0].tests) {
|
||||
var testCaseTitle = testCase.title.join(' - ');
|
||||
for (const testCase of result.runs[0].tests) {
|
||||
const testCaseTitle = testCase.title.join(' - ');
|
||||
if (testCaseTitle in testPasses[testFile] === false) {
|
||||
testPasses[testFile][testCaseTitle] = 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
/*global chrome*/
|
||||
|
||||
var HEADERS_TO_STRIP_LOWERCASE = [
|
||||
const HEADERS_TO_STRIP_LOWERCASE = [
|
||||
'content-security-policy',
|
||||
'x-frame-options',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ let previousEmoji = 'grinning';
|
|||
function verifyArrowKeysEmojiNavigation(arrowKey, count) {
|
||||
for (let index = 0; index < count; index++) {
|
||||
cy.get('body').type(arrowKey);
|
||||
// eslint-disable-next-line no-loop-func
|
||||
|
||||
cy.get('.emoji-picker__preview-name').invoke('text').then((selectedEmoji) => {
|
||||
expect(selectedEmoji).not.equal(previousEmoji);
|
||||
previousEmoji = selectedEmoji;
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
// Group: @channels @enterprise @ldap @saml @keycloak
|
||||
|
||||
import {LdapUser} from 'tests/support/ldap_server_commands';
|
||||
|
||||
import {getAdminAccount} from '../../../support/env';
|
||||
import {getRandomId} from '../../../utils';
|
||||
import {getKeycloakServerSettings} from '../../../utils/config';
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
// Group: @channels @enterprise @ldap @saml @keycloak
|
||||
|
||||
import {LdapUser} from 'tests/support/ldap_server_commands';
|
||||
|
||||
import {getAdminAccount} from '../../../support/env';
|
||||
import {getRandomId} from '../../../utils';
|
||||
import {getKeycloakServerSettings} from '../../../utils/config';
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@
|
|||
// Group: @channels @system_console @authentication @mfa
|
||||
|
||||
import * as TIMEOUTS from '../../../fixtures/timeouts';
|
||||
|
||||
import {getRandomId} from '../../../utils';
|
||||
|
||||
describe('Authentication', () => {
|
||||
|
|
|
|||
|
|
@ -195,6 +195,9 @@ describe('Authentication', () => {
|
|||
TeamSettings: {
|
||||
EnableUserCreation: false,
|
||||
},
|
||||
LdapSettings: {
|
||||
Enable: false,
|
||||
},
|
||||
});
|
||||
|
||||
cy.apiLogout();
|
||||
|
|
@ -203,22 +206,17 @@ describe('Authentication', () => {
|
|||
cy.visit('/login');
|
||||
|
||||
// * Assert that create account button is visible
|
||||
cy.findByText('Don\'t have an account?', {timeout: TIMEOUTS.ONE_MIN}).should('be.visible');
|
||||
cy.findByText('Don\'t have an account?', {timeout: TIMEOUTS.ONE_MIN}).should('be.visible').click();
|
||||
|
||||
// * Verify redirection to access problem page since account creation is disabled
|
||||
cy.url().should('include', '/access_problem');
|
||||
cy.findByText('Contact your workspace admin');
|
||||
|
||||
// # Go to sign up with email page
|
||||
cy.visit('/signup_user_complete');
|
||||
|
||||
cy.get('#input_email', {timeout: TIMEOUTS.ONE_MIN}).type(`test-${getRandomId()}@example.com`);
|
||||
|
||||
cy.get('#input_password-input').type('Test123456!');
|
||||
|
||||
cy.get('#input_name').clear().type(`Test${getRandomId()}`);
|
||||
|
||||
cy.findByText('Create Account').click();
|
||||
|
||||
// * Make sure account was not created successfully and we are on the team joining page
|
||||
cy.get('.AlertBanner__title').scrollIntoView().should('be.visible');
|
||||
cy.findByText('User sign-up with email is disabled.').should('be.visible').and('exist');
|
||||
// * No sign up methods enabled
|
||||
cy.findByText('This server doesn’t have any sign-in methods enabled').should('be.visible').and('exist');
|
||||
});
|
||||
|
||||
it('MM-T1754 - Restrict Domains - Account creation link on signin page', () => {
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
import {Channel} from '@mattermost/types/channels';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import * as TIMEOUTS from '../../../fixtures/timeouts';
|
||||
|
||||
describe('Bot accounts ownership and API', () => {
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
import {Channel} from '@mattermost/types/channels';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import * as TIMEOUTS from '../../../fixtures/timeouts';
|
||||
|
||||
describe('Bot accounts ownership and API', () => {
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
// Group: @channels @not_cloud @bot_accounts
|
||||
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
|
||||
import * as TIMEOUTS from '../../../fixtures/timeouts';
|
||||
|
||||
describe('Bot accounts ownership and API', () => {
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
|
||||
import {Bot} from '@mattermost/types/bots';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
|
||||
import {createBotPatch} from '../../../support/api/bots';
|
||||
|
||||
describe('Bot channel intro and avatar', () => {
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
// Group: @channels @bot_accounts
|
||||
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
|
||||
import * as MESSAGES from '../../../fixtures/messages';
|
||||
import {getRandomId} from '../../../utils';
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
// Group: @channels @bot_accounts
|
||||
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
|
||||
import * as TIMEOUTS from '../../../fixtures/timeouts';
|
||||
import {getRandomId} from '../../../utils';
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
// See LICENSE.txt for license information.
|
||||
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
|
||||
import {getRandomId} from '../../../utils';
|
||||
import * as TIMEOUTS from '../../../fixtures/timeouts';
|
||||
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import {Bot} from '@mattermost/types/bots';
|
|||
import {Channel} from '@mattermost/types/channels';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import {createBotPatch} from '../../../support/api/bots';
|
||||
import {generateRandomUser} from '../../../support/api/user';
|
||||
import * as TIMEOUTS from '../../../fixtures/timeouts';
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ import {Bot} from '@mattermost/types/bots';
|
|||
import {Channel} from '@mattermost/types/channels';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import {createBotPatch} from '../../../support/api/bots';
|
||||
import {generateRandomUser} from '../../../support/api/user';
|
||||
|
||||
|
|
|
|||
|
|
@ -11,9 +11,10 @@
|
|||
// Group: @channels @bot_accounts
|
||||
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {Channel} from '@mattermost/types/channels';
|
||||
|
||||
import {createBotPatch} from '../../../support/api/bots';
|
||||
import {createChannelPatch} from '../../../support/api/channel';
|
||||
import {Channel} from '@mattermost/types/channels';
|
||||
|
||||
describe('Managing bots in Teams and Channels', () => {
|
||||
let team: Team;
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
// Group: @channels @bot_accounts @plugin @not_cloud
|
||||
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
|
||||
import * as TIMEOUTS from '../../../fixtures/timeouts';
|
||||
import {matterpollPlugin} from '../../../utils/plugins';
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
// Group: @channels @bot_accounts
|
||||
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
|
||||
import * as TIMEOUTS from '../../../fixtures/timeouts';
|
||||
import {getRandomId} from '../../../utils';
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
// Group: @channels @bot_accounts
|
||||
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
|
||||
import {createBotPatch} from '../../../support/api/bots';
|
||||
|
||||
describe('Managing bots in Teams and Channels', () => {
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import {Bot} from '@mattermost/types/bots';
|
|||
import {Channel} from '@mattermost/types/channels';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import {createBotPatch} from '../../../support/api/bots';
|
||||
import {generateRandomUser} from '../../../support/api/user';
|
||||
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
import {Channel} from '@mattermost/types/channels';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import {createBotPatch} from '../../../support/api/bots';
|
||||
import * as TIMEOUTS from '../../../fixtures/timeouts';
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
|
||||
import {Channel} from '@mattermost/types/channels';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
|
||||
import {getRandomId} from '../../../utils';
|
||||
|
||||
describe('Leave an archived channel', () => {
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
import {Channel, ServerChannel} from '@mattermost/types/channels';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import {getAdminAccount} from '../../../support/env';
|
||||
import {getRandomId} from '../../../utils';
|
||||
|
||||
|
|
|
|||
|
|
@ -13,8 +13,8 @@
|
|||
import {Channel} from '@mattermost/types/channels';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
import * as TIMEOUTS from '../../../fixtures/timeouts';
|
||||
|
||||
import * as TIMEOUTS from '../../../fixtures/timeouts';
|
||||
import {createPrivateChannel} from '../enterprise/elasticsearch_autocomplete/helpers';
|
||||
|
||||
const channelType = {
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
import {Channel} from '@mattermost/types/channels';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import {getRandomId} from '../../../utils';
|
||||
import * as TIMEOUTS from '../../../fixtures/timeouts';
|
||||
|
||||
|
|
@ -22,7 +23,7 @@ describe('Channel Bookmarks', () => {
|
|||
|
||||
let testTeam: Team;
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
|
||||
let user1: UserProfile;
|
||||
let admin: UserProfile;
|
||||
let publicChannel: Channel;
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
import {Channel} from '@mattermost/types/channels';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import {stubClipboard} from '../../../utils';
|
||||
|
||||
describe('Channel Info RHS', () => {
|
||||
|
|
|
|||
|
|
@ -144,7 +144,7 @@ describe('Channel members RHS', () => {
|
|||
cy.uiCloseRHS();
|
||||
|
||||
for (let i = 0; i < 20; i++) {
|
||||
// eslint-disable-next-line no-loop-func
|
||||
|
||||
cy.apiCreateUser().then(({user: newUser}) => {
|
||||
cy.apiAddUserToTeam(testTeam.id, newUser.id).then(() => {
|
||||
cy.apiAddUserToChannel(channel.id, newUser.id);
|
||||
|
|
@ -243,7 +243,7 @@ describe('Channel members RHS', () => {
|
|||
|
||||
// the user line is going to be removed and re-added in another category,
|
||||
// cypress struggle to realize this so we have to wait a few ms
|
||||
// eslint-disable-next-line cypress/no-unnecessary-waiting
|
||||
|
||||
cy.wait(500);
|
||||
|
||||
// * Can see the user with his new admin role, and change it back
|
||||
|
|
@ -291,7 +291,7 @@ describe('Channel members RHS', () => {
|
|||
cy.apiCreateChannel(testTeam.id, 'big-search-test-channel', 'Big Search Test Channel', 'O').then(({channel}) => {
|
||||
// # create 100 random users
|
||||
for (let i = 0; i < 100; i++) {
|
||||
// eslint-disable-next-line no-loop-func
|
||||
|
||||
cy.apiCreateUser().then(({user: newUser}) => {
|
||||
cy.apiAddUserToTeam(testTeam.id, newUser.id).then(() => {
|
||||
cy.apiAddUserToChannel(channel.id, newUser.id);
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
import {Channel} from '@mattermost/types/channels';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import * as TIMEOUTS from '../../../fixtures/timeouts';
|
||||
|
||||
describe('Channel', () => {
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
import {Channel} from '@mattermost/types/channels';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import * as TIMEOUTS from '../../../fixtures/timeouts';
|
||||
|
||||
const timestamp = Date.now();
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
// Group: @channels @channel @channel_settings
|
||||
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
|
||||
import {
|
||||
beMuted,
|
||||
beUnmuted,
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
import {Channel} from '@mattermost/types/channels';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import {ChainableT} from '../../../types';
|
||||
|
||||
// ***************************************************************
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
import {Channel} from '@mattermost/types/channels';
|
||||
|
||||
import {getAdminAccount} from '../../../support/env';
|
||||
|
||||
// ***************************************************************
|
||||
|
|
|
|||
|
|
@ -129,7 +129,6 @@ describe('Group Message Conversion To Private Channel', () => {
|
|||
|
||||
cy.apiCreateTeam('gmconversionteam3', 'GM Conversion Team 3').then(({team}) => {
|
||||
testTeam3 = team;
|
||||
console.log(testTeam3);
|
||||
|
||||
const teamMembers = [{
|
||||
team_id: testTeam3.id,
|
||||
|
|
@ -156,8 +155,6 @@ describe('Group Message Conversion To Private Channel', () => {
|
|||
cy.apiCreateGroupChannel([testUser1.id, testUser2.id, testUser3.id]).then(({channel}) => {
|
||||
gm = channel;
|
||||
|
||||
console.log(gm.name);
|
||||
|
||||
// Open the GM
|
||||
cy.visit(`/${testTeam1.name}/messages/${gm.name}`);
|
||||
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
import {Channel} from '@mattermost/types/channels';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import * as TIMEOUTS from '../../../fixtures/timeouts';
|
||||
|
||||
describe('Leave channel', () => {
|
||||
|
|
@ -69,7 +70,7 @@ describe('Leave channel', () => {
|
|||
|
||||
// # Archive the channel
|
||||
cy.uiLeaveChannel();
|
||||
cy.wait(TIMEOUTS.TWO_SEC); // eslint-disable-line cypress/no-unnecessary-waiting
|
||||
cy.wait(TIMEOUTS.TWO_SEC);
|
||||
|
||||
// * RHS should not be visible
|
||||
cy.get('#rhsContainer').should('not.exist');
|
||||
|
|
@ -107,7 +108,7 @@ describe('Leave channel', () => {
|
|||
|
||||
// # Archive the channel
|
||||
cy.uiLeaveChannel();
|
||||
cy.wait(TIMEOUTS.TWO_SEC); // eslint-disable-line cypress/no-unnecessary-waiting
|
||||
cy.wait(TIMEOUTS.TWO_SEC);
|
||||
|
||||
// * RHS should not be visible
|
||||
cy.get('#rhsContainer').should('not.exist');
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
// Group: @channels @channel
|
||||
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import {getAdminAccount} from '../../../support/env';
|
||||
|
||||
const demoteToChannelMember = (user, channelId, admin) => {
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
// node run_tests.js --group='@channel_settings'
|
||||
|
||||
import {ChannelType} from '@mattermost/types/channels';
|
||||
|
||||
import {getRandomId} from '../../../utils';
|
||||
import * as TIMEOUTS from '../../../fixtures/timeouts';
|
||||
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ describe('Channel sidebar', () => {
|
|||
|
||||
// Wait for state to settle
|
||||
// This is necessary since we have no observable way of finding out when the state actually settles so that it persists on reload
|
||||
// eslint-disable-next-line cypress/no-unnecessary-waiting
|
||||
|
||||
cy.wait(TIMEOUTS.FIVE_SEC);
|
||||
|
||||
// # Reload the page and wait
|
||||
|
|
@ -122,7 +122,7 @@ describe('Channel sidebar', () => {
|
|||
cy.get('.SidebarChannelGroupHeader:contains(CHANNELS) i').should('not.have.class', 'icon-rotate-minus-90');
|
||||
|
||||
// Wait for state to settle
|
||||
// eslint-disable-next-line cypress/no-unnecessary-waiting
|
||||
|
||||
cy.wait(TIMEOUTS.FIVE_SEC);
|
||||
|
||||
// # Reload the page and wait
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@ import {
|
|||
beUnread,
|
||||
} from '../../../support/assertions';
|
||||
import {getAdminAccount} from '../../../support/env';
|
||||
|
||||
import {getRandomId, stubClipboard} from '../../../utils';
|
||||
|
||||
describe('Sidebar channel menu', () => {
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@ import {
|
|||
beUnread,
|
||||
} from '../../../support/assertions';
|
||||
import {getAdminAccount} from '../../../support/env';
|
||||
|
||||
import * as TIMEOUTS from '../../../fixtures/timeouts';
|
||||
import {getRandomId} from '../../../utils';
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import {PostMessageResp} from '../../../support/task_commands';
|
||||
import {spyNotificationAs} from '../../../support/notification';
|
||||
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
import {Channel} from '@mattermost/types/channels';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import * as MESSAGES from '../../../fixtures/messages';
|
||||
import {matterpollPlugin} from '../../../utils/plugins';
|
||||
import {interceptFileUpload} from '../files_and_attachments/helpers';
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
import {Channel} from '@mattermost/types/channels';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import * as MESSAGES from '../../../fixtures/messages';
|
||||
import {waitUntilUploadComplete, interceptFileUpload} from '../files_and_attachments/helpers';
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
import {Channel} from '@mattermost/types/channels';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import * as TIMEOUTS from '../../../fixtures/timeouts';
|
||||
import {isMac} from '../../../utils';
|
||||
import {ChainableT} from '../../../types';
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
import {Channel} from '@mattermost/types/channels';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import * as TIMEOUTS from '../../../fixtures/timeouts';
|
||||
|
||||
// ***************************************************************
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import {Channel} from '@mattermost/types/channels';
|
|||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
import {PostMessageResp} from 'tests/support/task_commands';
|
||||
|
||||
import * as TIMEOUTS from '../../../fixtures/timeouts';
|
||||
|
||||
describe('Collapsed Reply Threads', () => {
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
import {Channel} from '@mattermost/types/channels';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import * as TIMEOUTS from '../../../fixtures/timeouts';
|
||||
|
||||
describe('Collapsed Reply Threads', () => {
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ describe('Leave Channel Command', () => {
|
|||
|
||||
// # Post /leave command in center channel
|
||||
cy.postMessage('/leave ');
|
||||
cy.wait(TIMEOUTS.TWO_SEC); // eslint-disable-line cypress/no-unnecessary-waiting
|
||||
cy.wait(TIMEOUTS.TWO_SEC);
|
||||
|
||||
// * Assert that user is redirected to townsquare
|
||||
cy.url().should('include', '/channels/town-square');
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
|
||||
import {Channel} from '@mattermost/types/channels';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
|
||||
import * as TIMEOUTS from '../../../../fixtures/timeouts';
|
||||
|
||||
describe('Verify Accessibility Support in different input fields', () => {
|
||||
|
|
@ -71,7 +72,7 @@ describe('Verify Accessibility Support in different input fields', () => {
|
|||
it('MM-T1457 Verify Accessibility Support in Search Autocomplete', () => {
|
||||
// # Adding at least five other users in the channel
|
||||
for (let i = 0; i < 5; i++) {
|
||||
cy.apiCreateUser().then(({user}) => { // eslint-disable-line
|
||||
cy.apiCreateUser().then(({user}) => {
|
||||
cy.apiAddUserToTeam(testTeam.id, user.id).then(() => {
|
||||
cy.apiAddUserToChannel(testChannel.id, user.id);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
import {Channel} from '@mattermost/types/channels';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import * as TIMEOUTS from '../../../../fixtures/timeouts';
|
||||
|
||||
describe('Verify Accessibility Support in Modals & Dialogs', () => {
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
import {Channel} from '@mattermost/types/channels';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import * as TIMEOUTS from '../../../../fixtures/timeouts';
|
||||
|
||||
describe('Verify Accessibility Support in Modals & Dialogs', () => {
|
||||
|
|
@ -140,7 +141,7 @@ describe('Verify Accessibility Support in Modals & Dialogs', () => {
|
|||
it('MM-T1468 Accessibility Support in Add people to Channel Dialog screen', () => {
|
||||
// # Add atleast 5 users
|
||||
for (let i = 0; i < 5; i++) {
|
||||
cy.apiCreateUser().then(({user}) => { // eslint-disable-line
|
||||
cy.apiCreateUser().then(({user}) => {
|
||||
cy.apiAddUserToTeam(testTeam.id, user.id);
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@
|
|||
// Group: @channels @enterprise @system_console @authentication
|
||||
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import * as TIMEOUTS from '../../../../fixtures/timeouts';
|
||||
|
||||
import * as TIMEOUTS from '../../../../fixtures/timeouts';
|
||||
import {getRandomId} from '../../../../utils';
|
||||
|
||||
describe('Authentication', () => {
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
import * as authenticator from 'authenticator';
|
||||
|
||||
import * as TIMEOUTS from '../../../../fixtures/timeouts';
|
||||
|
||||
describe('Authentication', () => {
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import {getAdminAccount} from '../../../../support/env';
|
||||
|
||||
import {
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
// Group: @channels @enterprise @elasticsearch @autocomplete @not_cloud
|
||||
|
||||
import {Channel} from '@mattermost/types/channels';
|
||||
|
||||
import {
|
||||
enableElasticSearch,
|
||||
searchAndVerifyChannel,
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
import {Channel} from '@mattermost/types/channels';
|
||||
import {ChainableT} from 'tests/types';
|
||||
|
||||
import * as TIMEOUTS from '../../../../fixtures/timeouts';
|
||||
import {getAdminAccount} from '../../../../support/env';
|
||||
import {SimpleUser} from '../../autocomplete/helpers';
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
|
||||
import {Channel} from '@mattermost/types/channels';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import {getRandomId} from '../../../../utils';
|
||||
|
||||
import {
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
|
||||
import {Channel} from '@mattermost/types/channels';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import {getRandomId} from '../../../../utils';
|
||||
|
||||
import {
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
import {getRandomLetter} from '../../../../utils';
|
||||
import {doTestQuickChannelSwitcher} from '../../autocomplete/common_test';
|
||||
import {createSearchData, SimpleUser} from '../../autocomplete/helpers';
|
||||
|
||||
import {enableElasticSearch} from './helpers';
|
||||
|
||||
describe('Autocomplete with Elasticsearch - Users', () => {
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
import {getRandomLetter} from '../../../../utils';
|
||||
import {doTestPostextbox} from '../../autocomplete/common_test';
|
||||
import {createSearchData, SimpleUser} from '../../autocomplete/helpers';
|
||||
|
||||
import {enableElasticSearch} from './helpers';
|
||||
|
||||
describe('Autocomplete with Elasticsearch - Users', () => {
|
||||
|
|
|
|||
|
|
@ -11,9 +11,11 @@
|
|||
// Group: @channels @enterprise @elasticsearch @autocomplete @not_cloud
|
||||
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
|
||||
import {getRandomLetter} from '../../../../utils';
|
||||
import {doTestDMChannelSidebar, doTestUserChannelSection} from '../../autocomplete/common_test';
|
||||
import {createSearchData, SimpleUser} from '../../autocomplete/helpers';
|
||||
|
||||
import {enableElasticSearch} from './helpers';
|
||||
|
||||
describe('Autocomplete with Elasticsearch - Users', () => {
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
// Group: @channels @enterprise @not_cloud @extend_session
|
||||
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import {verifyExtendedSession, verifyNotExtendedSession} from './helpers';
|
||||
|
||||
describe('Extended Session Length', () => {
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
// Group: @channels @enterprise @not_cloud @extend_session @ldap
|
||||
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import ldapUsers from '../../../../../fixtures/ldap_users.json';
|
||||
|
||||
import {verifyExtendedSession, verifyNotExtendedSession} from './helpers';
|
||||
|
|
|
|||
|
|
@ -15,10 +15,11 @@
|
|||
// Group: @channels @enterprise @not_cloud @extend_session @ldap @saml @keycloak
|
||||
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
import {LdapUser} from 'tests/support/ldap_server_commands';
|
||||
|
||||
import {getKeycloakServerSettings} from '../../../../../utils/config';
|
||||
|
||||
import {verifyExtendedSession, verifyNotExtendedSession} from './helpers';
|
||||
import {LdapUser} from 'tests/support/ldap_server_commands';
|
||||
|
||||
describe('Extended Session Length', () => {
|
||||
const sessionLengthInDays = 1;
|
||||
|
|
|
|||
|
|
@ -10,17 +10,17 @@
|
|||
// Group: @channels @enterprise @system_console @group_mentions
|
||||
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
import {Group} from '@mattermost/types/groups';
|
||||
|
||||
import ldapUsers from '../../../../fixtures/ldap_users.json';
|
||||
import * as TIMEOUTS from '../../../../fixtures/timeouts';
|
||||
|
||||
import {
|
||||
disablePermission,
|
||||
enablePermission,
|
||||
} from '../system_console/channel_moderation/helpers';
|
||||
|
||||
import {enableGroupMention} from './helpers';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
import {Group} from '@mattermost/types/groups';
|
||||
|
||||
describe('Group Mentions', () => {
|
||||
let groupID: string;
|
||||
|
|
@ -277,7 +277,7 @@ describe('Group Mentions', () => {
|
|||
|
||||
// # Create a new channel as a sysadmin
|
||||
cy.apiCreateChannel(testTeam.id, 'group-mention', 'Group Mentions').then(({channel}) => {
|
||||
cy.apiCreateUser().then(({user}) => { // eslint-disable-line
|
||||
cy.apiCreateUser().then(({user}) => {
|
||||
// # Add user to the team and channel
|
||||
cy.apiAddUserToTeam(testTeam.id, user.id).then(() => {
|
||||
cy.apiAddUserToChannel(channel.id, user.id);
|
||||
|
|
|
|||
|
|
@ -10,12 +10,13 @@
|
|||
// Group: @channels @enterprise @system_console @group_mentions
|
||||
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {Group} from '@mattermost/types/groups';
|
||||
|
||||
import ldapUsers from '../../../../fixtures/ldap_users.json';
|
||||
import * as TIMEOUTS from '../../../../fixtures/timeouts';
|
||||
|
||||
import {enableGroupMention} from './helpers';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {Group} from '@mattermost/types/groups';
|
||||
|
||||
describe('Group Mentions', () => {
|
||||
let groupID1: string;
|
||||
|
|
|
|||
|
|
@ -9,9 +9,12 @@
|
|||
|
||||
// Group: @channels @enterprise @system_console @group_mentions
|
||||
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
import {Group} from '@mattermost/types/groups';
|
||||
|
||||
import ldapUsers from '../../../../fixtures/ldap_users.json';
|
||||
import * as TIMEOUTS from '../../../../fixtures/timeouts';
|
||||
|
||||
import {
|
||||
disablePermission,
|
||||
enablePermission,
|
||||
|
|
@ -21,9 +24,6 @@ import {
|
|||
import {checkboxesTitleToIdMap} from '../system_console/channel_moderation/constants';
|
||||
|
||||
import {enableGroupMention} from './helpers';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
import {Group} from '@mattermost/types/groups';
|
||||
|
||||
describe('Group Mentions', () => {
|
||||
let groupID: string;
|
||||
|
|
@ -134,7 +134,7 @@ describe('Group Mentions', () => {
|
|||
// # Create a new team and channel as a sysadmin
|
||||
cy.apiCreateTeam('team', 'Test NoMember').then(({team}) => {
|
||||
cy.apiCreateChannel(team.id, 'group-mention', 'Group Mentions').then(({channel}) => {
|
||||
cy.apiCreateUser().then(({user}) => { // eslint-disable-line
|
||||
cy.apiCreateUser().then(({user}) => {
|
||||
// # Add user to the team and channel
|
||||
cy.apiAddUserToTeam(team.id, user.id).then(() => {
|
||||
cy.apiAddUserToChannel(channel.id, user.id);
|
||||
|
|
@ -178,7 +178,7 @@ describe('Group Mentions', () => {
|
|||
|
||||
// # Create a new channel as a sysadmin
|
||||
cy.apiCreateChannel(testTeam.id, 'group-mention', 'Group Mentions').then(({channel}) => {
|
||||
cy.apiCreateUser().then(({user}) => { // eslint-disable-line
|
||||
cy.apiCreateUser().then(({user}) => {
|
||||
// # Add user to the team and channel
|
||||
cy.apiAddUserToTeam(testTeam.id, user.id).then(() => {
|
||||
cy.apiAddUserToChannel(channel.id, user.id);
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@
|
|||
*/
|
||||
|
||||
import authenticator from 'authenticator';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import * as TIMEOUTS from '../../../../fixtures/timeouts';
|
||||
import {
|
||||
|
|
@ -22,7 +23,6 @@ import {
|
|||
reUrl,
|
||||
verifyEmailBody,
|
||||
} from '../../../../utils';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
describe('Guest Accounts', () => {
|
||||
let sysadmin: Cypress.UserProfile;
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import {Channel} from '@mattermost/types/channels';
|
|||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
import {AdminConfig} from '@mattermost/types/config';
|
||||
|
||||
import * as TIMEOUTS from '../../../../fixtures/timeouts';
|
||||
|
||||
function setLDAPTestSettings(config: AdminConfig) {
|
||||
|
|
@ -84,7 +85,7 @@ context('ldap', () => {
|
|||
// # Link 2 groups to testChannel
|
||||
cy.visit(`/admin_console/user_management/channels/${testChannel.id}`);
|
||||
cy.get('.admin-console__header', {timeout: TIMEOUTS.ONE_MIN}).should('be.visible').and('have.text', 'Channel Configuration');
|
||||
cy.wait(TIMEOUTS.TWO_SEC); //eslint-disable-line cypress/no-unnecessary-waiting
|
||||
cy.wait(TIMEOUTS.TWO_SEC);
|
||||
|
||||
// # Link first group
|
||||
cy.get('#addGroupsToChannelToggle').click();
|
||||
|
|
@ -128,7 +129,7 @@ context('ldap', () => {
|
|||
// # Add board-one to test team
|
||||
cy.visit(`/admin_console/user_management/teams/${testTeam.id}`);
|
||||
cy.get('.admin-console__header', {timeout: TIMEOUTS.ONE_MIN}).should('be.visible').and('have.text', 'Team Configuration');
|
||||
cy.wait(TIMEOUTS.TWO_SEC); //eslint-disable-line cypress/no-unnecessary-waiting
|
||||
cy.wait(TIMEOUTS.TWO_SEC);
|
||||
|
||||
// # Turn on sync group members
|
||||
cy.findByTestId('syncGroupSwitch').
|
||||
|
|
@ -170,7 +171,7 @@ context('ldap', () => {
|
|||
// # Go to testTeam config page
|
||||
cy.visit(`/admin_console/user_management/teams/${testTeam.id}`);
|
||||
cy.get('.admin-console__header', {timeout: TIMEOUTS.ONE_MIN}).should('be.visible').and('have.text', 'Team Configuration');
|
||||
cy.wait(TIMEOUTS.TWO_SEC); //eslint-disable-line cypress/no-unnecessary-waiting
|
||||
cy.wait(TIMEOUTS.TWO_SEC);
|
||||
|
||||
// # Make the team so anyone can join it
|
||||
cy.findByTestId('allowAllToggleSwitch').scrollIntoView().click();
|
||||
|
|
@ -208,7 +209,7 @@ context('ldap', () => {
|
|||
// # Add board-one to test team
|
||||
cy.visit(`/admin_console/user_management/channels/${testChannel.id}`);
|
||||
cy.get('.admin-console__header', {timeout: TIMEOUTS.ONE_MIN}).should('be.visible').and('have.text', 'Channel Configuration');
|
||||
cy.wait(TIMEOUTS.TWO_SEC); //eslint-disable-line cypress/no-unnecessary-waiting
|
||||
cy.wait(TIMEOUTS.TWO_SEC);
|
||||
|
||||
// Make it private and then cancel
|
||||
cy.findByTestId('allow-all-toggle').click();
|
||||
|
|
@ -264,7 +265,7 @@ context('ldap', () => {
|
|||
// Reload
|
||||
cy.visit(`/admin_console/user_management/channels/${privateChannel.id}`);
|
||||
cy.get('.admin-console__header', {timeout: TIMEOUTS.ONE_MIN}).should('be.visible').and('have.text', 'Channel Configuration');
|
||||
cy.wait(TIMEOUTS.THREE_SEC); //eslint-disable-line cypress/no-unnecessary-waiting
|
||||
cy.wait(TIMEOUTS.THREE_SEC);
|
||||
|
||||
// Make it public and save
|
||||
// * Ensure it still showing the channel as private
|
||||
|
|
@ -296,7 +297,7 @@ context('ldap', () => {
|
|||
cy.get('.DataGrid_searchBar').within(() => {
|
||||
cy.findByPlaceholderText('Search').should('be.visible').type('Town Square');
|
||||
});
|
||||
cy.wait(TIMEOUTS.FIVE_SEC); //eslint-disable-line cypress/no-unnecessary-waiting
|
||||
cy.wait(TIMEOUTS.FIVE_SEC);
|
||||
|
||||
cy.findAllByTestId('town-squareedit').then((elements) => {
|
||||
elements[0].click();
|
||||
|
|
|
|||
|
|
@ -10,11 +10,12 @@
|
|||
// Stage: @prod
|
||||
// Group: @channels @enterprise @ldap
|
||||
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import ldapUsers from '../../../../fixtures/ldap_users.json';
|
||||
import * as TIMEOUTS from '../../../../fixtures/timeouts';
|
||||
import {getAdminAccount} from '../../../../support/env';
|
||||
import {getRandomId} from '../../../../utils';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
// assumes that E20 license is uploaded
|
||||
// for setup with AWS: Follow the instructions mentioned in the mattermost/platform-private/config/ldap-test-setup.txt file
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
// Group: @channels @enterprise @ldap
|
||||
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import ldapUsers from '../../../../fixtures/ldap_users.json';
|
||||
import {getRandomId} from '../../../../utils';
|
||||
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ describe('LDAP Group Sync', () => {
|
|||
});
|
||||
|
||||
// # Wait until the groups retrieved and show up
|
||||
cy.wait(TIMEOUTS.HALF_SEC); //eslint-disable-line cypress/no-unnecessary-waiting
|
||||
cy.wait(TIMEOUTS.HALF_SEC);
|
||||
|
||||
// # Add the first team in the group list then save
|
||||
cy.get('#add_team_or_channel').click();
|
||||
|
|
@ -108,7 +108,7 @@ describe('LDAP Group Sync', () => {
|
|||
cy.uiGetButton('Add').click();
|
||||
|
||||
// # Wait until the groups retrieved and show up
|
||||
cy.wait(TIMEOUTS.HALF_SEC); //eslint-disable-line cypress/no-unnecessary-waiting
|
||||
cy.wait(TIMEOUTS.HALF_SEC);
|
||||
|
||||
cy.get('#team_and_channel_membership_table').then((el) => {
|
||||
// * Ensure that the text in the roles column is Member as default text for each row
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@
|
|||
|
||||
import {getRandomId} from '../../../../utils';
|
||||
import {checkboxesTitleToIdMap} from '../system_console/channel_moderation/constants';
|
||||
|
||||
import {enablePermission, goToSystemScheme, saveConfigForScheme} from '../system_console/channel_moderation/helpers';
|
||||
|
||||
describe('Integrations page', () => {
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
// Skip: @headless @electron @firefox // run on Chrome (headed) only
|
||||
|
||||
import {UserCollection} from 'tests/support/okta_commands';
|
||||
|
||||
import users from '../../../../fixtures/saml_users.json';
|
||||
|
||||
//Manual Setup required: Follow the instructions mentioned in the mattermost/platform-private/config/saml-okta-setup.txt file
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
// Skip: @headless @electron @firefox // run on Chrome (headed) only
|
||||
|
||||
import {UserCollection} from 'tests/support/okta_commands';
|
||||
|
||||
import users from '../../../../fixtures/saml_users.json';
|
||||
|
||||
//Manual Setup required: Follow the instructions mentioned in the mattermost/platform-private/config/saml-okta-setup.txt file
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
// * e.g. see (https://github.com/mattermost/mattermost-server/pull/16778/files)
|
||||
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import * as TIMEOUTS from '../../../../fixtures/timeouts';
|
||||
|
||||
function verifyPurchaseModal() {
|
||||
|
|
@ -183,7 +184,7 @@ describe('Self hosted Purchase', () => {
|
|||
// The waits for these fetches is usually enough. Add a little wait
|
||||
// for all the selectors to be updated and rerenders to happen
|
||||
// so that we do not accidentally hit the air-gapped modal
|
||||
// eslint-disable-next-line cypress/no-unnecessary-waiting
|
||||
|
||||
cy.wait(50);
|
||||
|
||||
// # Click the upgrade button to open the modal
|
||||
|
|
@ -258,7 +259,7 @@ describe('Self hosted Purchase', () => {
|
|||
cy.contains(todayPadded);
|
||||
cy.contains('Self-Hosted Professional');
|
||||
|
||||
// eslint-disable-next-line new-cap
|
||||
|
||||
const dollarUSLocale = Intl.NumberFormat('en-US', {style: 'currency', currency: 'USD', minimumFractionDigits: 2});
|
||||
|
||||
// * Verify payment matches what the user was told they would pay
|
||||
|
|
@ -327,7 +328,7 @@ describe('Self hosted Purchase', () => {
|
|||
// The waits for these fetches is usually enough. Add a little wait
|
||||
// for all the selectors to be updated and rerenders to happen
|
||||
// so that we do not accidentally hit the air-gapped modal
|
||||
// eslint-disable-next-line cypress/no-unnecessary-waiting
|
||||
|
||||
cy.wait(50);
|
||||
|
||||
// # Click the upgrade button to open the modal
|
||||
|
|
@ -374,7 +375,7 @@ describe('Self hosted Purchase', () => {
|
|||
// The waits for these fetches is usually enough. Add a little wait
|
||||
// for all the selectors to be updated and rerenders to happen
|
||||
// so that we do not accidentally hit the air-gapped modal
|
||||
// eslint-disable-next-line cypress/no-unnecessary-waiting
|
||||
|
||||
cy.wait(50);
|
||||
|
||||
// # Click the upgrade button to open the modal
|
||||
|
|
@ -431,7 +432,7 @@ describe('Self hosted Purchase', () => {
|
|||
// The waits for these fetches is usually enough. Add a little wait
|
||||
// for all the selectors to be updated and rerenders to happen
|
||||
// so that we do not accidentally hit the air-gapped modal
|
||||
// eslint-disable-next-line cypress/no-unnecessary-waiting
|
||||
|
||||
cy.wait(50);
|
||||
|
||||
// # Click the upgrade button to open the modal
|
||||
|
|
@ -461,7 +462,7 @@ describe('Self hosted Purchase', () => {
|
|||
cy.get('#UpgradeButton').should('exist').click();
|
||||
cy.wait('@airGappedCheck');
|
||||
cy.wait('@products');
|
||||
// eslint-disable-next-line cypress/no-unnecessary-waiting
|
||||
|
||||
cy.wait(50);
|
||||
|
||||
// # Click the upgrade button to open the modal
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@
|
|||
|
||||
import * as TIMEOUTS from '../../../../../fixtures/timeouts';
|
||||
import {getAdminAccount} from '../../../../../support/env';
|
||||
|
||||
import {promoteToChannelOrTeamAdmin} from '../channel_moderation/helpers.ts';
|
||||
|
||||
describe('System console', () => {
|
||||
|
|
|
|||
|
|
@ -13,8 +13,8 @@
|
|||
import {Channel} from '@mattermost/types/channels';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
import {checkboxesTitleToIdMap} from './constants';
|
||||
|
||||
import {checkboxesTitleToIdMap} from './constants';
|
||||
import {
|
||||
disablePermission,
|
||||
enablePermission,
|
||||
|
|
|
|||
|
|
@ -13,8 +13,8 @@
|
|||
import {Channel} from '@mattermost/types/channels';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
import {checkboxesTitleToIdMap} from './constants';
|
||||
|
||||
import {checkboxesTitleToIdMap} from './constants';
|
||||
import {
|
||||
disablePermission,
|
||||
enablePermission,
|
||||
|
|
|
|||
|
|
@ -2,12 +2,13 @@
|
|||
// See LICENSE.txt for license information.
|
||||
|
||||
import {Channel} from '@mattermost/types/channels';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
|
||||
import * as TIMEOUTS from '../../../../../fixtures/timeouts';
|
||||
import {getAdminAccount} from '../../../../../support/env';
|
||||
|
||||
import {checkBoxes} from './constants';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
|
||||
// # Visits the channel configuration for a channel with channelName
|
||||
export const visitChannelConfigPage = (channel: Channel) => {
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@
|
|||
import {getRandomId} from '../../../../../utils';
|
||||
|
||||
import {checkboxesTitleToIdMap} from './constants';
|
||||
|
||||
import {
|
||||
deleteOrEditTeamScheme,
|
||||
demoteToChannelOrTeamMember,
|
||||
|
|
|
|||
|
|
@ -13,11 +13,11 @@
|
|||
import {Channel} from '@mattermost/types/channels';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import * as TIMEOUTS from '../../../../../fixtures/timeouts';
|
||||
import {getRandomId} from '../../../../../utils';
|
||||
|
||||
import {checkboxesTitleToIdMap} from './constants';
|
||||
|
||||
import {
|
||||
deleteOrEditTeamScheme,
|
||||
disablePermission,
|
||||
|
|
|
|||
|
|
@ -12,12 +12,12 @@
|
|||
import {Channel} from '@mattermost/types/channels';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import * as TIMEOUTS from '../../../../../fixtures/timeouts';
|
||||
import {getRandomId} from '../../../../../utils';
|
||||
import {getAdminAccount} from '../../../../../support/env';
|
||||
|
||||
import {checkboxesTitleToIdMap} from './constants';
|
||||
|
||||
import {
|
||||
deleteOrEditTeamScheme,
|
||||
disablePermission,
|
||||
|
|
|
|||
|
|
@ -13,10 +13,10 @@
|
|||
import {Channel} from '@mattermost/types/channels';
|
||||
import {Team} from '@mattermost/types/teams';
|
||||
import {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import * as TIMEOUTS from '../../../../../fixtures/timeouts';
|
||||
|
||||
import {checkBoxes} from './constants';
|
||||
|
||||
import {
|
||||
disableAllChannelModeratedPermissions,
|
||||
enableAllChannelModeratedPermissions,
|
||||
|
|
|
|||
|
|
@ -52,7 +52,8 @@ export function editLastPost(message) {
|
|||
cy.get('#edit_textbox').should('be.visible');
|
||||
|
||||
// # Update the post message and type ENTER
|
||||
cy.get('#edit_textbox').invoke('val', '').type(message).type('{enter}').wait(TIMEOUTS.HALF_SEC);
|
||||
cy.get('#edit_textbox').invoke('val', '').type(message);
|
||||
cy.get('#create_post').findByText('Save').should('be.visible').click();
|
||||
|
||||
// * Edit modal should not be visible
|
||||
cy.get('#edit_textbox').should('not.exist');
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ describe('Team Scheme Guest Permissions Test', () => {
|
|||
cy.get('#scheme-name').type(`TestScheme-${randomId}{enter}`);
|
||||
|
||||
// // # Wait until the groups retrieved and show up
|
||||
cy.wait(TIMEOUTS.HALF_SEC); //eslint-disable-line cypress/no-unnecessary-waiting
|
||||
cy.wait(TIMEOUTS.HALF_SEC);
|
||||
|
||||
// # Check all the boxes currently unchecked
|
||||
enableAllGuestPermissions();
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@
|
|||
*/
|
||||
|
||||
import * as TIMEOUTS from '../../../../fixtures/timeouts';
|
||||
|
||||
import {
|
||||
enablePermission,
|
||||
goToSystemScheme,
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@
|
|||
// Group: @channels @outgoing_webhook
|
||||
|
||||
import * as TIMEOUTS from '../../../../fixtures/timeouts';
|
||||
|
||||
import {
|
||||
enableUsernameAndIconOverrideInt,
|
||||
enableUsernameAndIconOverride,
|
||||
|
|
|
|||
|
|
@ -9,9 +9,10 @@
|
|||
|
||||
// Group: @channels @mark_as_unread
|
||||
|
||||
import {markAsUnreadFromPost, switchToChannel} from './helpers';
|
||||
import * as TIMEOUTS from '../../../fixtures/timeouts';
|
||||
|
||||
import {markAsUnreadFromPost, switchToChannel} from './helpers';
|
||||
|
||||
describe('Verify unread toast appears after repeated manual marking post as unread', () => {
|
||||
let firstPost;
|
||||
let secondPost;
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ describe('Group Message', () => {
|
|||
let testTeam;
|
||||
let testUser;
|
||||
let townsquareLink;
|
||||
var users = [];
|
||||
const users = [];
|
||||
|
||||
const groupUsersCount = 3;
|
||||
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ describe('Messaging', () => {
|
|||
// * Verify the header with the count of the file exists
|
||||
cy.uiGetHeaderFilePreviewModal().contains('1 of 4');
|
||||
|
||||
for (var index = 2; index <= 4; index++) {
|
||||
for (let index = 2; index <= 4; index++) {
|
||||
// # click on right arrow to preview next attached image
|
||||
cy.get('#previewArrowRight').should('be.visible').click();
|
||||
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue