Files
notifications-admin/scripts/run_tests.sh
Chris Hill-Scott 0201825c45 Add linting for SASS and Javascript
Similar to how PEP8 enforces Python style, there are tools for front end code:
- jshint[1] for Javascript
- sass-lint[2] for SASS

This commit adds the Gulp plugins for both, and sets up some sensible rules
(which can be iterated on).

It also adds a command to `./scripts/run_tests.sh`, so that any errors in the
front end code will fail the build before it has a chance to be deployed.

1. http://jshint.com/
2. https://www.npmjs.com/package/sass-lint
2016-02-08 12:02:22 +00:00

37 lines
656 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
# Use default environment vars for localhost if not already set
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
}
pep8 .
display_result $? 1 "Code style check"
npm test
display_result $? 2 "Front end code style check"
## Code coverage
#py.test --cov=app tests/
#display_result $? 3 "Code coverage"
py.test -v
display_result $? 4 "Unit tests"