Files
projectmycelium/Makefile.ux-tests

85 lines
3.3 KiB
Makefile

# Project Mycelium UX Testing Makefile
#
# Usage:
# make -f Makefile.ux-tests test-ux # Run core UX tests
# make -f Makefile.ux-tests test-ux-quick # Run quick smoke tests
# make -f Makefile.ux-tests test-ux-full # Run complete test suite
# make -f Makefile.ux-tests setup-ux-tests # Setup test environment
.PHONY: setup-ux-tests test-ux test-ux-quick test-ux-full test-ux-public test-ux-auth test-ux-shopping
# Setup UX test environment
setup-ux-tests:
@echo "Setting up UX test environment..."
mkdir -p tests/ux_suite/reports/screenshots
mkdir -p user_data_test
@echo "UX test environment setup complete"
# Quick UX smoke tests (core flows only)
test-ux-quick:
@echo "Running quick UX smoke tests..."
UX_TEST_MODE=ci cargo test --test ux_suite_main test_public_information_pages --features ux_testing
UX_TEST_MODE=ci cargo test --test ux_suite_main test_user_login_flow --features ux_testing
UX_TEST_MODE=ci cargo test --test ux_suite_main test_buy_now_complete_workflow --features ux_testing
# Core UX tests (Phase 2 complete)
test-ux:
@echo "Running core UX test suite..."
UX_TEST_MODE=dev cargo test --test ux_suite_main test_suite_core_ux --features ux_testing
# Public access tests only
test-ux-public:
@echo "Running public access tests..."
UX_TEST_MODE=dev cargo test --test ux_suite_main test_suite_public_access --features ux_testing
# Authentication tests only
test-ux-auth:
@echo "Running authentication tests..."
UX_TEST_MODE=dev cargo test --test ux_suite_main test_suite_authentication --features ux_testing
# Shopping workflow tests only
test-ux-shopping:
@echo "Running shopping workflow tests..."
UX_TEST_MODE=dev cargo test --test ux_suite_main test_suite_shopping --features ux_testing
# Complete UX test suite (all tests)
test-ux-full:
@echo "Running complete UX test suite..."
UX_TEST_MODE=full cargo test --test ux_suite_main --features ux_testing
# Performance benchmarks
test-ux-performance:
@echo "Running UX performance benchmarks..."
UX_TEST_MODE=dev cargo test --test ux_suite_main test_performance_benchmarks --features ux_testing
# CI-optimized tests (headless, fast)
test-ux-ci:
@echo "Running CI UX tests..."
UX_TEST_MODE=ci cargo test --test ux_suite_main test_suite_core_ux --features ux_testing
# Clean up test artifacts
clean-ux-tests:
@echo "Cleaning up UX test artifacts..."
rm -rf user_data_test/
rm -rf tests/ux_suite/reports/
@echo "UX test cleanup complete"
# Help
help-ux:
@echo "Project Mycelium UX Testing Commands:"
@echo ""
@echo " setup-ux-tests - Setup test environment directories"
@echo " test-ux-quick - Quick smoke tests (3 core flows)"
@echo " test-ux - Core UX test suite (Phase 2 complete)"
@echo " test-ux-public - Public access tests only"
@echo " test-ux-auth - Authentication tests only"
@echo " test-ux-shopping - Shopping workflow tests only"
@echo " test-ux-full - Complete UX test suite (all tests)"
@echo " test-ux-performance - Performance benchmarks"
@echo " test-ux-ci - CI-optimized tests (headless)"
@echo " clean-ux-tests - Clean up test artifacts"
@echo ""
@echo "Environment Variables:"
@echo " UX_TEST_MODE - dev (default), ci, full"
@echo " UX_TEST_TIMEOUT - Timeout in seconds (default: 60)"
@echo " SELENIUM_URL - WebDriver URL (default: http://localhost:4444)"