AutoBackups/run-tests.sh

92 lines
2.4 KiB
Bash

#!/bin/bash
# AutoBackups Playwright Test Runner Script
# This script sets up the environment and runs Playwright tests
echo "🚀 AutoBackups - Running Playwright E2E Tests"
echo "============================================="
# Check if conda is available
if ! command -v conda &> /dev/null; then
echo "❌ Conda is not installed or not in PATH"
echo "Please install Miniconda/Anaconda and ensure it's in your PATH"
exit 1
fi
# Activate conda environment
echo "📦 Activating conda environment 'autobackups'..."
source $(conda info --base)/etc/profile.d/conda.sh
conda activate autobackups
if [ $? -ne 0 ]; then
echo "❌ Failed to activate conda environment 'autobackups'"
echo "Please create the environment first:"
echo "conda env create -f environment.yml"
exit 1
fi
# Check if Python dependencies are installed
echo "🔍 Checking Python dependencies..."
python -c "import flask" 2>/dev/null
if [ $? -ne 0 ]; then
echo "📥 Installing Python dependencies..."
pip install -r requirements.txt
fi
# Check if Node.js dependencies are installed
if [ ! -d "node_modules" ]; then
echo "📥 Installing Node.js dependencies..."
npm install
fi
# Install Playwright browsers if needed
if [ ! -d "node_modules/@playwright" ]; then
echo "🌐 Installing Playwright browsers..."
npx playwright install
fi
# Create test results directory
mkdir -p test-results
# Run tests based on arguments
case "$1" in
"headed")
echo "🎭 Running tests in headed mode..."
npx playwright test --headed
;;
"debug")
echo "🐛 Running tests in debug mode..."
npx playwright test --debug
;;
"specific")
if [ -z "$2" ]; then
echo "❌ Please specify a test file"
echo "Usage: $0 specific tests/e2e/dashboard.spec.js"
exit 1
fi
echo "🎯 Running specific test: $2"
npx playwright test "$2"
;;
"report")
echo "📊 Opening test report..."
npx playwright show-report
;;
*)
echo "🏃 Running all tests..."
npx playwright test
;;
esac
exit_code=$?
if [ $exit_code -eq 0 ]; then
echo "✅ All tests passed!"
else
echo "❌ Some tests failed. Check the results above."
fi
echo "📊 To view the detailed report, run: npx playwright show-report"
echo "🔍 Test artifacts are saved in: test-results/"
exit $exit_code