A web client for Matrix used to replace WhatsApp https://riot.opencloud.lu/
 
 
 
 
Go to file
Bruno Windels 2cb83334ed add script to install, start and stop riot 2018-07-18 17:52:51 +02:00
riot add script to install, start and stop riot 2018-07-18 17:52:51 +02:00
synapse add start and stop scripts for synapse 2018-07-18 17:52:29 +02:00
tests do accepting terms as part of signup since we try to create a room with riot-bot after login, which fails with consent warning 2018-07-17 12:38:20 +02:00
.gitignore
README.md add note to README 2018-07-09 18:21:43 +02:00
code_style.md
helpers.js accept terms when joining 2018-07-10 19:26:47 +02:00
package.json
start.js accept terms when joining 2018-07-10 19:26:47 +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