#!/usr/bin/env bash

set -e

bin/compile-source-files --verify || bin/compile-source-files

RED='\033[0;31m'
YELLOW='\033[0;33m'
RESET='\033[0m'

FILE_TO_TEST=$1

if [ -f "$1.ts" ]; then
  TEST_FILEPATH="$1.ts"
else
	TEST_FILEPATH="$1"
fi

# TODO: Check whether TEST_FILEPATH is empty, because that causes the entire
# test suite to be executed.

if [ -f "$TEST_FILEPATH" ]; then
  NODE_ENV=test ./node_modules/.bin/jest $TEST_FILEPATH
else
  echo ""
  echo -e "${RED}[ERROR]${RESET} No test file(s) found matching '$1'"
  echo -e "${YELLOW}Example:${RESET} ./bin/test-one test/unit/logger"
  echo ""
fi
