Unit tests and integration tests are automatically executed with every PR

Unit Testing

In order to run the unit tests, security checks with bandit, Sphinx documentation check for links consistency and HTML output and flake8 (coding style guide) tox. To run the unit tests and UI tests in parallel use:

$ tox -p auto

To run environments seprately use:

$ # list environments
$ tox -l
$ # run flake8
$ tox -e flake8
$ # run bandit
$ tox -e bandit
$ # run docs
$ tox -e docs

User Interface Testing

User Interface tests are developed using cypress, and the tests are developed for both Firefox and Chrome web browsers.

$ cd swift_browser_ui_frontend/
$ npm install -g pnpm@7
$ pnpm install
$ pnpm run build
$ cd  ..
$ pnpm install cypress
$ pnpm exec cypress open