#!/usr/bin/env bash

set -e

EXPECTED_PASSING=242
EXPECTED_FAILING=16

echo "Running lint..."
npm run lint

echo "Running test..."
npm run test | tee /tmp/test-output.txt
TEST_EXIT=${PIPESTATUS[0]}

PASSING=$(grep -E "^[[:space:]]+[0-9]+ passing" /tmp/test-output.txt | grep -oE "[0-9]+" | head -1)
FAILING=$(grep -E "^[[:space:]]+[0-9]+ failing" /tmp/test-output.txt | grep -oE "[0-9]+" | head -1)
FAILING=${FAILING:-0}

echo "Results: ${PASSING} passing, ${FAILING} failing"

if [ "$PASSING" != "$EXPECTED_PASSING" ] || [ "$FAILING" != "$EXPECTED_FAILING" ]; then
  echo "ERROR: Expected ${EXPECTED_PASSING} passing and ${EXPECTED_FAILING} failing, got ${PASSING} passing and ${FAILING} failing"
  exit 1
fi

exit $TEST_EXIT
