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 
							 |