🧪 Guía de Prueba: Flujo de Patrocinio de Hackathon
📋 Objetivo
Probar el flujo completo de cómo un SPONSOR patrocina un hackathon y crea challenges.
✅ Pre-requisitos
-
Tener un usuario con rol SPONSOR
- Email:
diegomejiasobsu@gmail.com(o el que uses) - Rol:
SPONSOR
- Email:
-
Tener al menos una Organización creada
- Si no tienes, crear en
/sponsor/organizations/create
- Si no tienes, crear en
-
Tener al menos un Hackathon en estado DRAFT o REGISTRATION
- Si no tienes, crear como ORGANIZER en
/organizer/hackathons/create - Estados permitidos:
DRAFToREGISTRATION
- Si no tienes, crear como ORGANIZER en
🔄 Flujo de Prueba
Paso 1: Login como SPONSOR
- Ir a
/sign-in - Login con credenciales de SPONSOR
- Deberías ser redirigido a
/sponsor(dashboard)
Paso 2: Verificar Organización
- Ir a
/sponsor/organizations - Verificar que tienes al menos una organización
- Si no tienes, crear una:
- Click en "Crear Organización"
- Llenar formulario:
- Nombre: "TechCorp Solutions"
- Descripción: "Empresa líder en soluciones tecnológicas"
- Logo URL: (opcional)
- Website: (opcional)
- Click en "Crear"
Paso 3: Crear Sponsorship
-
Ir a
/sponsor/sponsorships/create- O desde dashboard: Click en "Crear Sponsorship"
-
Verificar que el formulario muestra:
- Select de Organización (debe mostrar tus organizaciones)
- Select de Hackathon (solo debe mostrar hackathons en DRAFT o REGISTRATION)
- Select de Tier (DIAMOND, PLATINUM, GOLD, SILVER, BRONZE, PARTNER)
- Campo opcional de Benefits (JSON)
-
Llenar el formulario:
- Organización: Seleccionar una de tus organizaciones
- Hackathon: Seleccionar un hackathon en DRAFT o REGISTRATION
- Tier: Seleccionar un tier (ej: GOLD)
- Benefits (opcional):
{
"logo": true,
"booth": true,
"speaking": false,
"socialMedia": true
}
-
Click en "Crear Sponsorship"
-
Resultado esperado:
- ✅ Redirección a
/sponsor/sponsorships/[id] - ✅ Ver detalles del sponsorship creado
- ✅ Ver que el hackathon ahora tiene tu sponsorship
- ✅ Redirección a
Paso 4: Verificar Validaciones
Prueba 1: Intentar patrocinar hackathon en estado incorrecto
- Crear un hackathon como ORGANIZER
- Cambiar su estado a
RUNNINGoJUDGINGoFINISHED - Intentar crear sponsorship desde SPONSOR
- Resultado esperado:
- ❌ El hackathon NO aparece en el select
- O si aparece, al intentar crear muestra error:
- "No se puede patrocinar un hackathon en estado RUNNING. Solo se pueden patrocinar hackathons en DRAFT o REGISTRATION."
Prueba 2: Intentar patrocinar el mismo hackathon dos veces
- Crear un sponsorship para un hackathon
- Intentar crear otro sponsorship para el mismo hackathon con la misma organización
- Resultado esperado:
- ❌ Error: "Esta organización ya patrocina este hackathon"
Paso 5: Crear Challenge
-
Desde la página de detalle del sponsorship (
/sponsor/sponsorships/[id]) -
Click en "Crear Challenge"
-
Llenar el formulario:
- Título: "Best use of AI API"
- Descripción: "Crea una aplicación innovadora usando nuestra API de IA"
- Tags: Agregar tags como "AI", "Machine Learning", "API"
- Premio: "$5,000 + 1 año de créditos API gratis"
-
Click en "Crear Challenge"
-
Resultado esperado:
- ✅ Redirección a
/sponsor/challenges/[id] - ✅ Ver detalles del challenge creado
- ✅ El challenge aparece en la lista del sponsorship
- ✅ Redirección a
Paso 6: Verificar en Página Pública del Hackathon
- Ir a
/hackathons/[slug](slug del hackathon patrocinado) - Verificar que se muestra:
- ✅ Sección de "Sponsors" con tu organización
- ✅ Logo de tu organización (si tiene)
- ✅ Lista de challenges creados
- ✅ Información del tier del sponsorship
🐛 Casos de Error a Probar
Error 1: Sin Organización
- Acción: Intentar crear sponsorship sin tener organizaciones
- Resultado esperado: Mensaje "Necesitas tener al menos una organización"
Error 2: Sin Hackathons Disponibles
- Acción: Intentar crear sponsorship cuando no hay hackathons en DRAFT o REGISTRATION
- Resultado esperado: Mensaje "No hay hackathons disponibles para patrocinar"
Error 3: Hackathon en Estado Incorrecto
- Acción: Intentar patrocinar hackathon en RUNNING/JUDGING/FINISHED
- Resultado esperado: Error en backend y frontend
📊 Checklist de Prueba
- Login como SPONSOR funciona
- Ver organizaciones funciona
- Crear organización funciona
- Crear sponsorship funciona
- Select de hackathons solo muestra DRAFT/REGISTRATION
- Validación de estado en backend funciona
- Error al patrocinar hackathon en estado incorrecto
- Error al patrocinar mismo hackathon dos veces
- Crear challenge funciona
- Challenge aparece en sponsorship
- Challenge aparece en página pública del hackathon
- Sponsorship aparece en página pública del hackathon
🎯 Resultado Esperado Final
Después de completar el flujo, deberías tener:
- ✅ Una organización creada
- ✅ Un sponsorship creado para un hackathon
- ✅ Un challenge creado dentro del sponsorship
- ✅ Todo visible en la página pública del hackathon
📝 Notas
- Estados permitidos para patrocinar: Solo
DRAFTyREGISTRATION - Razón: Una vez que el hackathon está RUNNING, ya no tiene sentido agregar sponsors (los participantes ya están trabajando)
- Unique constraint: Una organización solo puede patrocinar un hackathon una vez