Development
===========

Run tests
---------

Froide has a test suite. You have to install the test dependencies first::

    pip install -r requirements-test.txt

The default test configuration requires a running elasticsearch instance.
You either have to install elasticsearch or change the configuration to
another search engine.

Then you can run the tests::

    make test

This also does test coverage analysis that you can then
find at `htmlcov/index.html`.


Build docs
----------

The docs can be build with Sphinx but first you must install the theme.
Excecute these commands from the top level of the froide directory::

  git submodule init
  git submodule update

Then change into the `docs` directory and type::

  make html

The documentation will be build and you can find the resulting html in `docs/_build/html`.

Development
===========

Run tests
---------

Froide has a test suite. You have to install the test dependencies first::

    pip install -r requirements-test.txt

The default test configuration requires a running elasticsearch instance.
You either have to install elasticsearch or change the configuration to
another search engine.

Then you can run the tests::

    make test

This also does test coverage analysis. You can generate an HTML report with::

  coverage html --omit="*/migrations/*"

You can then find the test HTML coverage report at `htmlcov/index.html`.

If you want to run tests for modules, classes or methods your can run them like this::

  # Run everything
  python manage.py test froide --settings=froide.settings_test
  # Run only app tests
  python manage.py test froide.foirequest --settings=froide.settings_test
  # run only one test module in app
  python manage.py test froide.foirequest.tests.test_admin.AdminActionTest --settings=froide.settings_test
  # run only one method
  python manage.py test froide.foirequest.tests.test_admin.AdminActionTest.test_approve --settings=froide.settings_test


Build docs
----------

The docs can be build with Sphinx but first you must install the theme.
Excecute these commands from the top level of the froide directory::

  git submodule init
  git submodule update

Then change into the `docs` directory and type::

  make html

The documentation will be build and you can find the resulting html in `docs/_build/html`.

Add details about how to run tests
Add details about how to run tests