Setup & Tests¶
This section guides you through everything you need to know to develop the software: build it and make changes.
Clone the Repository¶
git clone https://github.com/niccokunzmann/open-web-calendar
cd open-web-calendar
Code Quality¶
We use ruff to improve the code quality. Please install pre-commit before committing. It will ensure that the code is formatted and linted as expected using ruff.
pre-commit install
To format the code before commit without the pre-commit hook, run this:
tox -e ruff
Running Tests¶
To run the tests, we use tox
. tox
tests all different Python versions which we want to be compatible to.
pip install -r requirements/dev.in
Run all tests:
tox
Run a specific Python version:
tox -e py39
Browser Testing¶
We use selenium to test the app in different browsers. By default, Firefox is used. You can test the features like this:
tox -e web
If you like to change the browser, use
tox -e web -- -D browser=firefox
tox -e web -- -D browser=chrome
You can also change the layout of the window to test the responsive design:
tox -e web -- -D window=375x812 # iPhone11 size
Debug Mode¶
In case the browser tests fail, screenshots are recorded and a link is printed.
Documentation¶
You can build the documentation with tox
, too. It is located in the docs
directory.
tox -e docs -- build # ./site
tox -e docs -- serve
We are using mkdocs with the material theme.