upskill-event-manager/wordpress-dev/bin/setup-test-events.sh
bengizmo aff540bdf6 feat: Add comprehensive test data setup and extended trainer journey tests
- Create test event setup scripts for staging environment
- Implement extended trainer journey test with improved error handling
- Add test data creation script to generate 5 events with varying prices
- Update trainer journey tests to handle different success scenarios
- Improve test resilience with flexible success indicator checks

Co-authored-by: Ben Reed <ben@tealmaker.com>
2025-05-18 20:14:28 -03:00

66 lines
No EOL
2.6 KiB
Bash
Executable file

#!/bin/bash
# Get absolute path to this script's directory
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# Navigate to wordpress-dev directory
cd "$(dirname "$SCRIPT_DIR")" || exit 1
# Load environment variables
ENV_FILE=".env"
if [ ! -f "$ENV_FILE" ]; then
echo "Error: .env file not found at: $ENV_FILE"
exit 1
fi
source "$ENV_FILE"
# Colors for output
GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[1;33m'
NC='\033[0m'
# Function to check if a command was successful
check_status() {
if [ $? -eq 0 ]; then
echo -e "${GREEN}$1${NC}"
return 0
else
echo -e "${RED}$1${NC}"
return 1
fi
}
echo "=== Creating Test Events on Staging Server ==="
echo "Remote host: $UPSKILL_STAGING_IP"
echo "Remote user: $UPSKILL_STAGING_SSH_USER"
echo "WordPress path: $UPSKILL_STAGING_PATH"
echo "==============================="
# Copy the PHP setup script to staging
echo -e "\n${YELLOW}Copying test event setup script to staging...${NC}"
sshpass -p "${UPSKILL_STAGING_PASS}" scp -o StrictHostKeyChecking=no \
"tests/setup-test-events.php" \
"${UPSKILL_STAGING_SSH_USER}@${UPSKILL_STAGING_IP}:${UPSKILL_STAGING_PATH}/wp-content/plugins/hvac-community-events/tests/"
check_status "Test script upload"
# Run the test event setup script
echo -e "\n${YELLOW}Running test event creation script...${NC}"
sshpass -p "${UPSKILL_STAGING_PASS}" ssh -o StrictHostKeyChecking=no "${UPSKILL_STAGING_SSH_USER}@${UPSKILL_STAGING_IP}" \
"cd ${UPSKILL_STAGING_PATH} && wp eval-file wp-content/plugins/hvac-community-events/tests/setup-test-events.php --allow-root"
check_status "Test event creation"
# Verify events were created
echo -e "\n${YELLOW}Verifying test events...${NC}"
sshpass -p "${UPSKILL_STAGING_PASS}" ssh -o StrictHostKeyChecking=no "${UPSKILL_STAGING_SSH_USER}@${UPSKILL_STAGING_IP}" \
"cd ${UPSKILL_STAGING_PATH} && wp post list --post_type=tribe_events --author=\$(wp user get test_trainer --field=id --allow-root) --fields=ID,post_title,post_status --format=table --allow-root"
check_status "Event verification"
# Check ticket setup (if Event Tickets is active)
echo -e "\n${YELLOW}Checking ticket setup...${NC}"
sshpass -p "${UPSKILL_STAGING_PASS}" ssh -o StrictHostKeyChecking=no "${UPSKILL_STAGING_SSH_USER}@${UPSKILL_STAGING_IP}" \
"cd ${UPSKILL_STAGING_PATH} && wp plugin is-active event-tickets --allow-root && wp post list --post_type=tribe_tpp_tickets --fields=ID,post_title,post_parent --format=table --allow-root || echo 'Event Tickets not active'"
echo -e "\n${GREEN}Test event setup completed!${NC}"
echo "Events created for test_trainer user with varying ticket prices and attendee counts"