mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
* Updated privacy policy link * Removed broken link from fa language * Updated terms of use link * Updated pricing links * Updated self hosted billing links * Updated terms-of-use links * Updated privacy-policy links across the project * Updated pricing links in e2e tests * Updated cloud billing docs * Fixed upgrading mattermost server links * Updated ssl client certificate links * Updated configure session lenghts links * Updated configure site url links * Updated elasticsearch links * Update data retention policy links * Updated ldap links * advanced-permissions * Updated anchor ServiceSettings.ListenAddress * Updated anchor #SystemSettings.Forward80To443 * Updated link desktop managed resources * Updated elasticsearch links * Updated file content extraction links * Updated HA Cluster inks * Updated setup image proxy link * Updated push notification links * Update performance monitoring links * Help links * Updated about mattermost links * updated report a problem links * Updated download apps links * Updated mobile apps links * Update share messages links * Updated format messages links * Updated in product notices links * Updated multi factor auth links * Updated LDAP links * Updated setup saml links * Updated saml/ldap configuration links * Updated plugins URL * Updated plugin signing links * Updated webhook links * Updated slash commands links * Updated oauth2 links * Updated webhook links * Update enable oauth2 links * Updated personal access tokens list * Updated experimental links * Updated snap files * check-style * privacy/terms links in about modal
E2E testing for the Mattermost web client
This directory contains the E2E testing code for the Mattermost web client.
How to run locally
The E2E testing scripts depend on the following tools being installed on your system: docker, docker-compose, make, git, jq, and some common utilities (coreutils, findutils, bash, awk, sed, grep)
Instructions, tl;dr: create a local branch with your E2E test changes, then open a PR to the mattermost-server repo targeting the master branch (so that CI will produce the image that docker-compose needs), then run make in this directory.
Instructions, detailed:
- Create the
.ci/envfile, and populate the variables you need, keeping in mind that:
- The following variables will be passed over to the server container:
MM_LICENSE(no enterprise features will be available if this is unset), and the explodedMM_ENV(a comma-separated list of env var specifications) - The following variables will be passed over to the cypress container:
BRANCH,BUILD_ID,CI_BASE_URL,AUTOMATION_DASHBOARD_URLandAUTOMATION_DASHBOARD_TOKEN - The
SERVER_IMAGEvariable can also be set, if you want to select a custom mattermost-server image - The
TEST_FILTERvariable can also be set, to customize which tests you want cypress to run - All variables are optional, and will be set to sane defaults
- (optional)
make start-dashboard: start the automation-dashboard in the background
- This also sets the
AUTOMATION_DASHBOARD_URLandAUTOMATION_DASHBOARD_TOKENvariables for the cypress container - Note that if you run the dashboard locally, but also specify other
AUTOMATION_DASHBOARD_*variables in your env, the latter variables will take precedence
make: start and prepare the server, then run the cypress tests
- You can track the progress of the run in the
http://localhost:4000/cyclesdashboard, if you launched it locally
make stop: tears down the server (and the dashboard, if running), then cleans up the env placeholder files
Notes:
- Aside from some exceptions (e.g.
TEST_FILTER), most of the variables in.ci/envmust be set before themake start-servercommand is run. Modifying that file afterwards has no effect, because the containers' env files are generated in that step. - If you restart the dashboard at any point, you must also restart the server containers, so that it picks up the new IP of the dashboard from the newly generated
.env.dashboardfile - If you started the dashboard locally in the past, but want to point to another dashboard later, you can run
make clean-env-placeholdersto remove references to the local dashboard (you'll likely need to restart the server) - Dynamically set variables for the server or cypress should be managed within the
.env.*files, rather than in the docker-compose files, to streamline their management.
How to control which tests to run
The TEST_FILTER variable will control which test files to run Cypress tests against. Please check the e2e-tests/cypress/run_tests.js file for details about its format.