Dashboard e2e tests in CI

This is a very large issue.

General steps:

  • Set up a cypress framework for running tests against the dashboard. #138 (closed)
  • Run tests from Stackspin CI. stackspin#1536 (closed)
  • Run tests in the dashboard CI. This is harder, because it requires some other components to function: single-sign-on-database, hydra, kratos at least. It also requires a cluster to install on, but we could re-use gitlab.stackspin.net which we already use for nextcloud in the same way.

Some possibilities of tests:

  • Check that the documentation link is visible.
  • Test the "Configure profile" modal a bit.
  • Test the "Authentication settings" page a bit, i.e., the Kratos settings.
  • In particular, enable TOTP and test logging in with TOTP, using cypress-otp.
  • Check that some app tile is visible on the landing page. This is not trivial because we should make sure that that app is installed first if necessary.
  • Test that the module menu items are visible. Ideally do this separately as admin and non-admin user because the results are different.
  • Check that the Users module shows some user in the listing.
  • Open a user configuration modal and check that some field in there is populated.
  • Test creating a new user.
  • Check that the Apps module shows some apps. Again this needs the app to be installed first.
Edited by Arie Peterson
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information