#!/bin/bash

set -ex

# run linting of python files
echo 'Running linting...'

flake8 src/backend/ tests_backend/
isort --profile black --check src/backend/ tests_backend/
black --check src/backend/ tests_backend/

# run pytest with args set
echo 'Running Python Pytest tests...'
PYTHONDONTWRITEBYTECODE=1 COVERAGE_FILE=build/.coverage python -m pytest -v tests_backend/unit/ \
		-p no:cacheprovider \
		--cov src/backend \
		--cov-report xml:build/coverage.xml \
		--cov-report term \
		--junitxml=build/pyunit.xml

# Run Vitest tests
echo 'Running JS Frontend checks and tests...'
local_bin="$(pwd)/node_modules/.bin"
export PATH="$local_bin:$PATH"

# Install npm dependencies first to ensure tools like prettier are available
echo 'Installing npm dependencies...'
npm ci || npm install

npm run check

echo 'Done!'
