feat: implementacion de dashboards por rol, soporte de clases virtuales concurrentes en importador de sheets y cartelera del dia
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user