import pytest from app.services.jwt_service import JWTService from app.models.user import User def test_get_dashboard_stats(client, app_context, init_database): """Prueba que el endpoint del dashboard devuelva las métricas correctas en formato JSON""" # Create a test admin user if not exists admin = User.query.filter_by(email="admin@edu-space.com").first() if not admin: admin = User(email="admin@edu-space.com", name="Admin Test", role_id=1, role="admin", is_active=True) admin.set_password("admin123") from app import db db.session.add(admin) db.session.commit() access_token = JWTService.create_access_token(admin) headers = { 'Authorization': f'Bearer {access_token}' } response = client.get('/api/v1/dashboard/stats', headers=headers) assert response.status_code == 200 data = response.get_json() assert data['status'] == 'success' assert 'stats' in data assert 'total_classrooms' in data['stats'] assert 'monthly_data' in data assert 'audit_logs' in data