41 pruebas · 31 endpoints · 20 casos de uso · 2026-11-09
| Endpoint | CU | Prueba | Resultado |
|---|---|---|---|
| POST /api/auth/registro | CU-01 | Registro de Admin | ✅ |
| POST /api/auth/login | CU-02 | Inicio de sesión | ✅ |
| POST /api/auth/refresh | CU-02 | Refresh token | ✅ |
| POST /api/auth/otp/enviar | CU-10 | Enviar OTP a inversionista | ✅ |
| POST /api/auth/otp/verificar | CU-10 | Verificar OTP (1ª vez + reingreso) | ✅ |
| POST /api/auth/invitacion-proyecto | CU-05 | Aceptar invitación asesor | ✅ |
| POST /api/auth/invitacion-inversionista | CU-10 | Invitación a inversionista | ✅ |
| POST /api/auth/check-acceso | CU-07 | Verificar acceso por email | ✅ |
| Endpoint | CU | Prueba | Resultado |
|---|---|---|---|
| POST /api/proyectos | CU-03 | Crear proyecto | ✅ |
| GET /api/proyectos | CU-03 | Listar mis proyectos | ✅ |
| GET /api/proyectos/{id} | CU-03 | Detalle de proyecto | ✅ |
| PATCH /api/proyectos/{id} | CU-16 | Editar nombre/estatus | ✅ |
| PATCH /api/proyectos/{id}/etapa-activa | CU-07 | Activar etapa en venta | ✅ |
| GET /api/proyectos/{id}/etapas | CU-01 | Listar etapas + promos | ✅ |
| GET /api/proyectos/{id}/equipo | CU-06 | Listar equipo | ✅ |
| PATCH /api/proyectos/{id}/equipo/{uid} | CU-06 | Asignar conciliador | ✅ |
| POST /api/proyectos/{id}/codigo-asesor | CU-09 | Generar código de asesor | ✅ |
| GET /api/proyectos/{id}/lotes | CU-03 | Listar lotes | ✅ |
| GET /api/proyectos/{id}/tickets | CU-03 | Disponibilidad de tickets | ✅ |
| Endpoint | CU | Prueba | Resultado |
|---|---|---|---|
| POST /api/etapas | CU-07 | Crear etapa (lotes/tickets) | ✅ |
| POST /api/etapas/{id}/promociones | CU-20 | Crear promoción escalonada | ✅ |
| DELETE /api/promociones/{id} | CU-20 | Eliminar promoción | ✅ |
| Endpoint | CU | Prueba | Resultado |
|---|---|---|---|
| POST /api/lotes | CU-08 | Crear lotes | ✅ |
| POST /api/lotes/apartar | CU-11, CU-18, CU-20 | Apartar lotes con promo + race condition | ✅ |
| POST /api/lotes/{id}/comprobante | CU-12 | Subir comprobante | ✅ |
| PATCH /api/lotes/{id}/estatus | CU-13 | Cambio de estatus (apartado→regular) | ✅ |
| GET /api/lotes/expirados | CU-16 | Liberar expirados | ✅ |
| Endpoint | CU | Prueba | Resultado |
|---|---|---|---|
| POST /api/etapas/{id}/apartar-tickets | CU-19, CU-20 | Apartar 10 tickets con promoción -$3K c/u | ✅ |
| GET /api/proyectos/{id}/tickets | CU-19 | Ver disponibilidad pool | ✅ |
| Endpoint | CU | Prueba | Resultado |
|---|---|---|---|
| POST /api/conciliacion/solicitar-cancelacion/{id} | CU-14 | Paso 1: Inversionista solicita | ✅ |
| POST /api/conciliacion/aprobar-cancelacion/{id} | CU-14 | Paso 2: Admin/Conciliador aprueba | ✅ |
| POST /api/conciliacion/ejecutar-cancelacion/{id} | CU-14 | Paso 3: Ejecuta → pool restaurado | ✅ |
| Prueba | Escenario | Resultado |
|---|---|---|
| Email duplicado | Registrar mismo email dos veces → 400/409 | ✅ |
| Login incorrecto | Credenciales inválidas → 401 | ✅ |
| Sin token | Request sin Authorization → 401/403 | ✅ |
| Token inválido | Bearer token-falso → 401/403 | ✅ |
| Lote inexistente | PATCH /api/lotes/999999/estatus → 400 | ✅ |
| Proyecto inexistente | GET /api/proyectos/999999 → 404 | ✅ |
| Prueba | Escenario | Resultado |
|---|---|---|
| Race condition | Dos sesiones, mismo lote → primera gana, segunda rechazada | ✅ |
| Prueba | Transición | Resultado |
|---|---|---|
| Pausar proyecto | activo → inactivo | ✅ |
| Reactivar proyecto | inactivo → activo | ✅ |