feat: implementacion de dashboards por rol, soporte de clases virtuales concurrentes en importador de sheets y cartelera del dia

This commit is contained in:
2026-09-18 23:04:48 -03:00
parent 47b50ede7e
commit 1080acd43a
240 changed files with 8354 additions and 8886 deletions
+30
View File
@@ -0,0 +1,30 @@
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