A web client for Matrix used to replace WhatsApp https://riot.opencloud.lu/
 
 
 
 
Go to file
Bruno Windels 410b32ff85 make script runnable in one terminal, without server output garbling up test results. This won't work well on CI server but makes it clear to run locally 2018-07-20 19:00:27 +02:00
riot add template config file for riot installation 2018-07-20 18:50:05 +02:00
synapse add script to clear synapse db 2018-07-20 18:50:29 +02:00
tests working consent test by accepting server notices invite and clicking on link, also create room 2018-07-20 18:51:25 +02:00
.gitignore add ignore file 2018-07-09 17:08:16 +02:00
README.md add note to README 2018-07-09 18:21:43 +02:00
code_style.md add code style 2018-07-09 17:08:16 +02:00
helpers.js working consent test by accepting server notices invite and clicking on link, also create room 2018-07-20 18:51:25 +02:00
package.json don't use jest and just run test code sequentially 2018-07-09 17:43:21 +02:00
run.sh make script runnable in one terminal, without server output garbling up test results. This won't work well on CI server but makes it clear to run locally 2018-07-20 19:00:27 +02:00
start.js turn headless back on 2018-07-20 18:59:45 +02:00

README.md

Matrix React Web App End-to-End tests

This repository contains tests for the matrix-react-sdk web app. The tests fire up a headless chrome and simulate user interaction (end-to-end). Note that end-to-end has little to do with the end-to-end encryption matrix supports, just that we test the full stack, going from user interaction to expected DOM in the browser.

Current tests

  • test riot loads (check title)
  • signup with custom homeserver
  • join preexisting room

Roadmap

  • get rid of jest, as a test framework won't be helpful to have a continuous flow going from one use case to another (think: do login, create a room, invite a user, ...). a test framework usually assumes the tests are semi-indepedent.
  • better error reporting (show console.log, XHR requests, partial DOM, screenshot) on error
  • cleanup helper methods
  • add more css id's/classes to riot web to make css selectors in test less brittle.
  • avoid delay when waiting for location.hash to change
  • more tests!
  • setup installing & running riot and synapse as part of the tests.
    • Run 2 synapse instances to test federation use cases.
    • start synapse with clean config/database on every test run
  • look into CI(Travis) integration

How to run

Setup

  • install dependencies with npm install (will download copy of chrome)
  • have riot-web running on localhost:8080
  • have a local synapse running at localhost:8008

Run tests

  • run tests with node start.js