element-web/test/end-to-end-tests/src
David Baker b8013fc52a
Add a Cypress Test 🌲 (#8295)
* A first, maybe working cypress test

Plus cypress plugins to manage synapses in docker containers

* Fix yaml

* This file is important

* try & find where it's put the artifact

* Download artifact to a directory

* pics or it didn't happen

* Add conditional, otherwise no artifacts on failure...

* Try increasing timeout

also actually give the test a name

* Try in chrome

* Get docker logs to see why it's failing

also document the chrome setting

* Try changing mode on homeserver.yaml

* debug

* More debugging

* more file permissions debugging

* ARGH

* more debug

* sigh

* Eugh, that's not how arguments work

* Add the option to really allow open registration

and remove debug logging / comment fixes

* failure to yaml

* Upload docker logs as artifacts

and temporarily remove contional to test

* Put the conditional back

* Upgrade types in end to end tests

to be compatible with fs-extra types

* Try reducing timeout a bit

also make password more... sensible

* Hex is not octal

* Remove file mode

Seems to be unnecessary since the signing key is perfectly fine

* Give the log files extensions

* Rename workflow file now it also does tests

* Add cypress scripts

* copyright headers

* Use ? operator

Co-authored-by: Travis Ralston <travisr@matrix.org>

* Use develop synapse image

* Tidy up any remaining synapses after each spec run

Also:
 * Move the synapseStart / synapseStop functions out to the top level
   so they can be reused
 * Add a tsconfig file
 * Give the containers names

* Don't upload video on test pass

We don't upload it anyway so tell cypress not to so it can not
bother encoding them

* Enable linting on cypress files

and fix existing lint errors

* Type check cypress files

and make it pass the type checks, specifically:
 * Upgrade sinon fake timers to a version that has the right types
 * Set module resolution
 * Type check cypress files separately

* Rename workflow file again

Probably better to just call it an element web build

* Don't plus + characters in container name

* Fix yaml

* Stream logs to file

* Add note to end to end tester to sya what's been ported

* Put docker rm in finally block

Co-authored-by: Travis Ralston <travisr@matrix.org>
2022-04-14 10:41:58 +01:00
..
@types Convert end-to-end tests to Typescript (#7206) 2021-12-06 09:59:06 +11:00
rest Replace deprecated String#substr with String#slice (#8314) 2022-04-14 07:52:42 +00:00
scenarios Don't show the prompt to enable desktop notifications immediately after registration (#8274) 2022-04-13 19:05:08 +01:00
usecases Introduce small delay to let redaction propagate for tests (#8311) 2022-04-13 19:39:30 +01:00
logbuffer.ts Convert end-to-end tests to Typescript (#7206) 2021-12-06 09:59:06 +11:00
logger.ts Triple the speed of E2E tests and stop them exploding if a circular datastructure is logged (#8095) 2022-03-21 10:26:26 +00:00
scenario.ts Add a Cypress Test 🌲 (#8295) 2022-04-14 10:41:58 +01:00
session.ts End to end tests for threads (#8267) 2022-04-12 17:46:08 -06:00
util.ts Triple the speed of E2E tests and stop them exploding if a circular datastructure is logged (#8095) 2022-03-21 10:26:26 +00:00