You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.1 KiB
44 lines
1.1 KiB
#!/bin/bash
|
|
# test-all.sh
|
|
# Author: Matthew Raymer
|
|
# Description: Comprehensive test suite for TimeSafari application
|
|
# This script runs all tests including prerequisites, web tests, and mobile tests
|
|
# with proper error handling and logging.
|
|
#
|
|
# Exit Codes:
|
|
# 1 - Prerequisites check failed
|
|
# 2 - Build failed
|
|
# 3 - Web tests failed
|
|
# 4 - Mobile tests failed
|
|
|
|
# Exit on any error
|
|
set -e
|
|
|
|
# Source common utilities
|
|
source "$(dirname "$0")/common.sh"
|
|
|
|
# Parse command line arguments
|
|
parse_args "$@"
|
|
|
|
# Print test header
|
|
print_header "TimeSafari Test Suite"
|
|
log_info "Starting comprehensive test suite at $(date)"
|
|
|
|
# Step 1: Check prerequisites
|
|
safe_execute "Checking prerequisites" "npm run test:prerequisites" || exit 1
|
|
|
|
# Step 2: Build the application
|
|
safe_execute "Building application" "npm run build" || exit 2
|
|
|
|
# Step 3: Run web tests
|
|
safe_execute "Running web tests" "npm run test:web" || exit 3
|
|
|
|
# Step 4: Run mobile tests
|
|
safe_execute "Running mobile tests" "npm run test:mobile" || exit 4
|
|
|
|
# Print test summary
|
|
log_success "All tests completed successfully!"
|
|
print_footer "Test Suite"
|
|
|
|
# Exit with success
|
|
exit 0
|