Files
notifications-admin/scripts/run_tests.sh
Katie Smith 1c23784767 Pytest 5 🎉
Also updates the Pytest command in `run_tests.sh` to remove junit,
which we stopped using.
2020-01-09 09:50:37 +00:00

42 lines
839 B
Bash
Executable File

#!/bin/bash
#
# Run project tests
#
# NOTE: This script expects to be run from the project root with
# ./scripts/run_tests.sh
set -o pipefail
function display_result {
RESULT=$1
EXIT_STATUS=$2
TEST=$3
if [ $RESULT -ne 0 ]; then
echo -e "\033[31m$TEST failed\033[0m"
exit $EXIT_STATUS
else
echo -e "\033[32m$TEST passed\033[0m"
fi
}
if [[ -z "$VIRTUAL_ENV" ]] && [[ -d venv ]]; then
source ./venv/bin/activate
fi
make test-requirements
display_result $? 1 "Requirements check"
flake8 .
display_result $? 1 "Code style check"
isort --check-only -rc ./app ./tests
display_result $? 2 "Import order check"
npm test
display_result $? 3 "Javascript tests have"
## Code coverage
py.test -n auto --maxfail=10 --cov=app --cov-report=term-missing tests/ --strict -p no:warnings
display_result $? 4 "Code coverage"