Saltar al contenido principal

🧪 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

  1. Tener un usuario con rol SPONSOR

    • Email: diegomejiasobsu@gmail.com (o el que uses)
    • Rol: SPONSOR
  2. Tener al menos una Organización creada

    • Si no tienes, crear en /sponsor/organizations/create
  3. Tener al menos un Hackathon en estado DRAFT o REGISTRATION

    • Si no tienes, crear como ORGANIZER en /organizer/hackathons/create
    • Estados permitidos: DRAFT o REGISTRATION

🔄 Flujo de Prueba

Paso 1: Login como SPONSOR

  1. Ir a /sign-in
  2. Login con credenciales de SPONSOR
  3. Deberías ser redirigido a /sponsor (dashboard)

Paso 2: Verificar Organización

  1. Ir a /sponsor/organizations
  2. Verificar que tienes al menos una organización
  3. 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

  1. Ir a /sponsor/sponsorships/create

    • O desde dashboard: Click en "Crear Sponsorship"
  2. 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)
  3. 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
      }
  4. Click en "Crear Sponsorship"

  5. Resultado esperado:

    • ✅ Redirección a /sponsor/sponsorships/[id]
    • ✅ Ver detalles del sponsorship creado
    • ✅ Ver que el hackathon ahora tiene tu sponsorship

Paso 4: Verificar Validaciones

Prueba 1: Intentar patrocinar hackathon en estado incorrecto

  1. Crear un hackathon como ORGANIZER
  2. Cambiar su estado a RUNNING o JUDGING o FINISHED
  3. Intentar crear sponsorship desde SPONSOR
  4. 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

  1. Crear un sponsorship para un hackathon
  2. Intentar crear otro sponsorship para el mismo hackathon con la misma organización
  3. Resultado esperado:
    • ❌ Error: "Esta organización ya patrocina este hackathon"

Paso 5: Crear Challenge

  1. Desde la página de detalle del sponsorship (/sponsor/sponsorships/[id])

  2. Click en "Crear Challenge"

  3. 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"
  4. Click en "Crear Challenge"

  5. Resultado esperado:

    • ✅ Redirección a /sponsor/challenges/[id]
    • ✅ Ver detalles del challenge creado
    • ✅ El challenge aparece en la lista del sponsorship

Paso 6: Verificar en Página Pública del Hackathon

  1. Ir a /hackathons/[slug] (slug del hackathon patrocinado)
  2. 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:

  1. ✅ Una organización creada
  2. ✅ Un sponsorship creado para un hackathon
  3. ✅ Un challenge creado dentro del sponsorship
  4. ✅ Todo visible en la página pública del hackathon

📝 Notas

  • Estados permitidos para patrocinar: Solo DRAFT y REGISTRATION
  • 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