#!/bin/bash # Descomplicar® Crescimento Digital # https://descomplicar.pt # Care API Unit Tests Runner # Script para executar os 5 testes unitários criados para as classes API_Init e Auth_Endpoints set -e # Exit on any error echo "🧪 Care API - Unit Tests Runner" echo "=================================" echo "" # Check if PHPUnit exists if [ ! -f "vendor/bin/phpunit" ]; then echo "❌ PHPUnit não encontrado. A instalar dependências..." composer install --dev fi # Check if WordPress test suite is installed if [ ! -d "/tmp/wordpress-tests-lib" ]; then echo "❌ WordPress Test Suite não encontrado. A instalar..." echo "Executar: bash bin/install-wp-tests.sh wordpress_test root '' localhost latest" exit 1 fi echo "📋 A executar syntax check..." php -l tests/unit/Core/ApiInitTest.php php -l tests/unit/Endpoints/AuthEndpointsTest.php echo "✅ Syntax check passou" echo "" echo "🏗️ Classes testadas:" echo " • Care_API\API_Init (5 testes)" echo " • Care_API\Endpoints\Auth_Endpoints (5 testes)" echo "" echo "🎯 Testes unitários criados:" echo " 1. test_plugin_initialization() - Inicialização do plugin" echo " 2. test_endpoint_registration() - Registo de endpoints REST API" echo " 3. test_service_dependency_injection() - Injeção de dependências" echo " 4. test_auth_endpoints_functionality() - Funcionalidade de autenticação" echo " 5. test_error_handler_setup() - Configuração do error handler" echo "" # Run specific unit tests with verbose output echo "🚀 A executar testes unitários..." echo "" echo "▶️ 1/2 - API_Init Tests (Core)" vendor/bin/phpunit tests/unit/Core/ApiInitTest.php --verbose --testdox echo "" echo "▶️ 2/2 - Auth_Endpoints Tests" vendor/bin/phpunit tests/unit/Endpoints/AuthEndpointsTest.php --verbose --testdox echo "" echo "📊 A executar todos os unit tests com cobertura..." vendor/bin/phpunit --testsuite "KiviCare API Unit Tests" --coverage-text --colors echo "" echo "📈 Estatísticas de cobertura geradas em coverage-html/" echo "" # Run with testdox for better readability echo "📋 Relatório detalhado dos testes:" vendor/bin/phpunit --testsuite "KiviCare API Unit Tests" --testdox echo "" echo "✅ Todos os testes unitários concluídos!" echo "" echo "📁 Ficheiros criados:" echo " • tests/unit/Core/ApiInitTest.php" echo " • tests/unit/Endpoints/AuthEndpointsTest.php" echo " • tests/unit/README.md" echo "" echo "🎯 Funcionalidades testadas:" echo " ✅ Plugin initialization" echo " ✅ REST API endpoint registration" echo " ✅ Service dependency injection" echo " ✅ Authentication workflows" echo " ✅ Error handler setup" echo " ✅ WordPress hook integration" echo " ✅ JWT token management" echo " ✅ User authorization and permissions" echo " ✅ Rate limiting and security" echo " ✅ Profile management operations" echo "" echo "📖 Para mais informações, consultar tests/unit/README.md"