← Todos los flujos
FLUJO F09

Supervisión y administración

El supervisor (reina.santi) recorre todas sus pantallas: el tablero de indicadores, la vista global de casos, la administración de usuarios, las configuraciones del negocio, la generación de reportes descargables y la pantalla de ingreso de denuncias.

OK Rol: Supervisor
70pasos
31llamadas a la API
0errores de consola
0respuestas con error
2archivos descargados
203.4sduración

📁 Evidencias descargadas (2)

Todas las capturas y archivos de este flujo están en la carpeta F09-supervisor/. Hacé clic en cualquier captura para verla a tamaño completo.

✅ Sin hallazgos

El flujo se completó sin errores de consola, sin respuestas HTTP con error y sin comportamientos anómalos.

1

Pantalla de login

Formulario de acceso: usuario y contraseña (se validan contra LDAP)

Paso 1
Elemento
Login #User / #Password
Pantalla
#/login-page
2

Login como reina.santi

POST /v1/Authentication/login → HTTP 200. El backend valida contra LDAP y devuelve el JWT (un solo rol). Landing: /dashboard-page

Paso 2
Elemento
Botón Ingresar button[type=submit]
Pantalla
#/dashboard-page
API
POST /v1/Authentication/login 200GET /v1/app/Users/role/analyst 200GET /v1/app/Configuration/banks 200GET /v1/app/Dashboard/monthly-average-elapsed-time 200GET /v1/app/Dashboard/claims-cause/by-bank 200GET /v1/app/Dashboard/state-claims/by-analyst 200GET /v1/app/Dashboard/oldest-claims/by-analyst 200GET /v1/app/Dashboard/claims/by-bank 200GET /v1/app/Users/role/analyst 200GET /v1/app/Configuration/banks 200GET /v1/app/Users/role/analyst 200
3

Dashboard del supervisor

Landing del supervisor: tablero con los indicadores globales de la operación (reclamos por etapa, por cobertura, tiempos de gestión, reclamos por tomador y los casos con mayor tiempo en el sistema).

Paso 3
Elemento
Dashboard app-dashboard-page
Pantalla
#/dashboard-page
4

Menú lateral del supervisor

Opciones visibles para reina.santi: Dashboard, Ingreso de denuncias, Repositorio, Usuarios, Configuraciones, Reportes. A diferencia del analista, el supervisor NO tiene «Mis casos»: su vista de casos es la global («Repositorio», renombrada desde «Gestión de casos» por el fix del WI #1267).

Paso 4
Elemento
Sidebar a.sidebar-menu-link
Pantalla
#/dashboard-page
5

Widget «Reclamos por etapa»

Widget del tablero del supervisor con datos reales del ambiente QA.

Paso 5
Elemento
Reclamos por etapa app-reclamos-por-etapa-analista
Pantalla
#/dashboard-page
6

Abrir el filtro del widget «Reclamos por etapa»

Se despliega el menú con las opciones de filtro disponibles para el widget (la opción «Todos» agrega los datos de todos los analistas/bancos).

Paso 6
Elemento
Filtro de Reclamos por etapa app-reclamos-por-etapa-analista button.btn-alternativo
Pantalla
#/dashboard-page
7

Elegir «Todos» en el filtro de «Reclamos por etapa»

Opciones que ofrecía el menú: Todos, Andres Daleney, Analista Extra 4. El widget recarga sus datos con el filtro aplicado.

Paso 7
Elemento
Opción Todos button.mat-mdc-menu-item
Pantalla
#/dashboard-page
API
GET /v1/app/Dashboard/state-claims/by-analyst 200
8

Widget «Reclamos por cobertura»

Widget del tablero del supervisor con datos reales del ambiente QA.

Paso 8
Elemento
Reclamos por cobertura app-reclamos-por-cobertura
Pantalla
#/dashboard-page
9

Abrir el filtro del widget «Reclamos por cobertura»

Se despliega el menú con las opciones de filtro disponibles para el widget (la opción «Todos» agrega los datos de todos los analistas/bancos).

Paso 9
Elemento
Filtro de Reclamos por cobertura app-reclamos-por-cobertura button.btn-alternativo
Pantalla
#/dashboard-page
10

Elegir «Todos» en el filtro de «Reclamos por cobertura»

Opciones que ofrecía el menú: Todos, Banco Sol, Banco Estatal, Banco Fie, Banco Ecofuturo. El widget recarga sus datos con el filtro aplicado.

Paso 10
Elemento
Opción Todos button.mat-mdc-menu-item
Pantalla
#/dashboard-page
API
GET /v1/app/Dashboard/claims-cause/by-bank 200
11

Widget «Tiempo promedio gestión casos por mes»

Widget del tablero del supervisor con datos reales del ambiente QA.

Paso 11
Elemento
Tiempo promedio gestión casos por mes app-gestion-mensual-casos-supervisor
Pantalla
#/dashboard-page
12

Abrir el filtro del widget «Tiempo promedio gestión casos por mes»

Se despliega el menú con las opciones de filtro disponibles para el widget (la opción «Todos» agrega los datos de todos los analistas/bancos).

Paso 12
Elemento
Filtro de Tiempo promedio gestión casos por mes app-gestion-mensual-casos-supervisor button.btn-alternativo
Pantalla
#/dashboard-page
13

Elegir «Todos» en el filtro de «Tiempo promedio gestión casos por mes»

Opciones que ofrecía el menú: Todos, Banco Sol, Banco Estatal, Banco Fie, Banco Ecofuturo. El widget recarga sus datos con el filtro aplicado.

Paso 13
Elemento
Opción Todos button.mat-mdc-menu-item
Pantalla
#/dashboard-page
API
GET /v1/app/Dashboard/monthly-average-elapsed-time 200
14

Widget «Reclamos por Tomador»

Widget del tablero del supervisor con datos reales del ambiente QA.

Paso 14
Elemento
Reclamos por Tomador app-reclamos-por-tomador-supervisor
Pantalla
#/dashboard-page
15

Abrir el filtro del widget «Reclamos por Tomador»

Se despliega el menú con las opciones de filtro disponibles para el widget (la opción «Todos» agrega los datos de todos los analistas/bancos).

Paso 15
Elemento
Filtro de Reclamos por Tomador app-reclamos-por-tomador-supervisor button.btn-alternativo
Pantalla
#/dashboard-page
16

Elegir «Cerrado aprobado» en el filtro de «Reclamos por Tomador»

Opciones que ofrecía el menú: Todos, Cerrado aprobado., Cerrado rechazado.. El widget recarga sus datos con el filtro aplicado.

Paso 16
Elemento
Opción Cerrado aprobado button.mat-mdc-menu-item
Pantalla
#/dashboard-page
API
GET /v1/app/Dashboard/claims/by-bank 200
17

Widget «Reclamos por Tomador»

Widget del tablero del supervisor con datos reales del ambiente QA.

Paso 17
Elemento
Reclamos por Tomador app-reclamos-por-tomador-supervisor
Pantalla
#/dashboard-page
18

Abrir el filtro del widget «Reclamos por Tomador»

Se despliega el menú con las opciones de filtro disponibles para el widget (la opción «Todos» agrega los datos de todos los analistas/bancos).

Paso 18
Elemento
Filtro de Reclamos por Tomador app-reclamos-por-tomador-supervisor button.btn-alternativo
Pantalla
#/dashboard-page
19

Elegir «Todos» en el filtro de «Reclamos por Tomador»

Opciones que ofrecía el menú: Todos, Cerrado aprobado., Cerrado rechazado.. El widget recarga sus datos con el filtro aplicado.

Paso 19
Elemento
Opción Todos button.mat-mdc-menu-item
Pantalla
#/dashboard-page
API
GET /v1/app/Dashboard/claims/by-bank 200
20

Widget «Casos con Mayor Tiempo en el Sistema»

Widget del tablero del supervisor con datos reales del ambiente QA.

Paso 20
Elemento
Casos con Mayor Tiempo en el Sistema app-listado-de-analistas
Pantalla
#/dashboard-page
21

Abrir el filtro del widget «Casos con Mayor Tiempo en el Sistema»

Se despliega el menú con las opciones de filtro disponibles para el widget (la opción «Todos» agrega los datos de todos los analistas/bancos).

Paso 21
Elemento
Filtro de Casos con Mayor Tiempo en el Sistema app-listado-de-analistas button.btn-alternativo
Pantalla
#/dashboard-page
22

Elegir «Todos» en el filtro de «Casos con Mayor Tiempo en el Sistema»

Opciones que ofrecía el menú: Todos, Andres Daleney, Analista Extra 4. El widget recarga sus datos con el filtro aplicado.

Paso 22
Elemento
Opción Todos button.mat-mdc-menu-item
Pantalla
#/dashboard-page
API
GET /v1/app/Dashboard/oldest-claims/by-analyst 200
23

Ir a «Repositorio» desde el menú lateral

El Angular Router intercepta el click (el href del sidebar es path-based, no hash)

Paso 23
Elemento
Menú: Repositorio a.sidebar-menu-link
Pantalla
#/repositorio-page
24

Vista global de casos («Repositorio»)

El menú del supervisor la llama «Repositorio» y el título en pantalla dice «Repositorio». Desde el fix del WI #1267 ambos deben decir «Repositorio», igual que para el analista. La tabla arranca VACÍA: hay que buscar para ver casos. Ofrece búsqueda por cédula, nombre del asegurado, número de reclamo, número SISE y rango de fechas, más filtros de tabla por Banco, Etapa, Condición y Analista.

Paso 24
Elemento
repositorio-page h2
Pantalla
#/repositorio-page
25

Escribir «GONZALES» en el campo «Nombre asegurado»

Búsqueda global por apellido del asegurado, sin importar el analista asignado.

Paso 25
Elemento
el campo «Nombre asegurado» input[name='asegurado']
Pantalla
#/repositorio-page
26

Click en «Filtrar»

Ejecuta la búsqueda contra el repositorio completo de casos (GET /Claims/Repository con el filtro aplicado).

Paso 26
Elemento
Filtrar button:has-text('Filtrar')
Pantalla
#/repositorio-page
API
GET /v1/app/Claims/Repository 200
27

Resultado de la búsqueda: el supervisor ve casos de TODOS los analistas

La búsqueda por «GONZALES» devolvió 10 filas en la página actual. Analistas asignados visibles: Marcela Flores, tahia rojas, Andres Daleney, Analista Extra 4. Etapas visibles: Cerrado, Clasificación y análisis, En proceso. La vista global no filtra por analista asignado: el supervisor supervisa toda la cartera.

Paso 27
Elemento
Tabla filtrada table[mat-table]
Pantalla
#/repositorio-page
28

Acciones disponibles por fila para el supervisor

Botones de acción presentes en la tabla: Ver caso (visibility), Reasignar (how_to_reg), Eliminar (delete). El set de acciones lo decide el backend por caso (case.actions[]); los tooltips se resuelven por ícono porque el atributo matTooltip es dinámico.

Paso 28
Elemento
Acciones de fila .btn-accion
Pantalla
#/repositorio-page
29

Dialog «Reasignar» desde la vista global

El supervisor puede reasignar un caso a otro analista directamente desde la vista global. Se abre el dialog de reasignación (NO se confirma).

Paso 29
Elemento
Acción Reasignar .btn-accion how_to_reg
Pantalla
#/repositorio-page
Ventana emergente
Seleccione analista para reasignar el caso close Seleccionar analista SELECCIONA UN USUARIO Reasignar person_edit
closeReasignar person_edit
API
GET /v1/app/Users/role/analyst/claim/01K2ZWGTDSCC87761Q08AJY5MC 200
30

Cerrar el dialog de reasignación sin confirmar

La prueba no muta datos: se documenta el dialog y se cierra.

Paso 30
Elemento
Dialog Reasignar
Pantalla
#/repositorio-page
31

Abrir la ficha 360° del caso (Ver caso)

Desde la vista global, el supervisor abre el caso completo: número de caso y SISE, datos del asegurado, montos, analista responsable, documentación, comentarios e historial.

Paso 31
Elemento
Acción Ver caso .btn-accion visibility
Pantalla
#/home-page/caso-page/01JZB23HAEFQD0ZPASJ5RAMW4Y/2
API
GET /v1/app/Claims/01JZB23HAEFQD0ZPASJ5RAMW4Y/comments 200GET /v1/app/Claims/01JZB23HAEFQD0ZPASJ5RAMW4Y/view 200GET /v1/app/Claims/01JZB23HAEFQD0ZPASJ5RAMW4Y/documents 200
32

Dialog «Cambiar Analista responsable»

Desde la ficha del caso, el supervisor SÍ puede reasignar: el lápiz junto a «Analista responsable» abre este dialog con el combo de analistas disponibles (GET /Users/role/analyst/with-responsible). NO se guardan cambios.

Paso 32
Elemento
Lápiz Analista responsable span.btn-edit
Pantalla
#/home-page/caso-page/01JZB23HAEFQD0ZPASJ5RAMW4Y/2
Ventana emergente
Cambiar Analista responsable close Analista MARCELA FLORES Guardar cambios check
closeGuardar cambios check
API
GET /v1/app/Users/role/analyst/with-responsible/01JZB23HAEFQD0ZPASJ5RAMW4Y 200
33

Cerrar el dialog sin guardar

Se documenta la capacidad de reasignación y se cierra sin confirmar.

Paso 33
Pantalla
#/home-page/caso-page/01JZB23HAEFQD0ZPASJ5RAMW4Y/2
34

Click en «Volver»

Regresa a la vista global de casos (back=2 → repositorio).

Paso 34
Elemento
Volver button:has-text('Volver')
Pantalla
#/repositorio-page
35

Ir a «Usuarios» desde el menú lateral

El Angular Router intercepta el click (el href del sidebar es path-based, no hash)

Paso 35
Elemento
Menú: Usuarios a.sidebar-menu-link
Pantalla
#/admin-home-page
API
GET /v1/app/Configuration/roles 200GET /v1/app/Users 200GET /v1/app/Configuration/banks 200
36

Administración de usuarios

Lista de usuarios del sistema (10 filas en la página actual) con nombre, cargo, bancos asociados, estado (Disponible/No disponible) y acciones. Filtros de cabecera por Banco, Cargo y Estado.

Paso 36
Elemento
admin-home-page table[mat-table]
Pantalla
#/admin-home-page
37

Click en «Agregar usuario»

Abre el formulario de alta de usuario. Campos: Nombre, Apellido, Cargo (Supervisor/Analista/Tesorero/Médico), Usuario, Correo y su confirmación; según el cargo aparecen campos extra (bancos asociados, correos de notificaciones o registro médico). NO se crea ningún usuario.

Paso 37
Elemento
Agregar usuario button:has-text('Agregar usuario')
Pantalla
#/admin-home-page
Ventana emergente
Ingresar nuevo usuario close Nombre Apellido Cargo SELECCIONAR Usuario Correo electrónico Confirmar correo electrónico Agregar usuario person_add
closeAgregar usuario person_add
38

Opciones del combo «Cargo»

El overlay muestra los cuatro roles del sistema: Supervisor, Analista, Tesorero y Médico.

Paso 38
Elemento
Combo Cargo
Pantalla
#/admin-home-page
Ventana emergente
Ingresar nuevo usuario close Nombre Apellido Cargo SELECCIONAR Usuario Correo electrónico Confirmar correo electrónico Agregar usuario person_add
closeAgregar usuario person_add
39

Formulario de alta con cargo «Analista»

Al elegir Analista aparecen los chips de «Bancos asociados», que definen qué cartera verá el usuario.

Paso 39
Elemento
Dialog alta usuario
Pantalla
#/admin-home-page
Ventana emergente
Ingresar nuevo usuario close Nombre Apellido Cargo ANALISTA Usuario Correo electrónico Confirmar correo electrónico Bancos asociados Banco Sol Banco Estatal Banco Fie Banco Ecofuturo Agregar usuario person_add
closeBanco SolBanco EstatalBanco FieBanco EcofuturoAgregar usuario person_add
40

Cerrar el alta de usuario sin crear nada

El dialog se cierra con la X; no se envió el formulario.

Paso 40
Pantalla
#/admin-home-page
41

Click en «Editar (primer usuario de la lista)»

Abre el formulario de edición precargado con los datos del usuario. NO se guardan cambios.

Paso 41
Elemento
Editar (primer usuario de la lista) table[mat-table] button.btn-accion:has(span.material-symbols-outlined:text-is('edit'))
Pantalla
#/admin-home-page
Ventana emergente
Editar información de usuario close Usuario Nombre Apellido Cargo MEDICO Correo electrónico Confirmar correo electrónico Bancos asociados Banco Sol Banco Estatal Banco Fie Banco Ecofuturo Registro médico Editar usuario person_add
closeBanco SolBanco EstatalBanco FieBanco EcofuturoEditar usuario person_add
42

Cerrar la edición sin guardar

Sin cambios sobre el usuario.

Paso 42
Pantalla
#/admin-home-page
43

Ir a «Configuraciones» desde el menú lateral

El Angular Router intercepta el click (el href del sidebar es path-based, no hash)

Paso 43
Elemento
Menú: Configuraciones a.sidebar-menu-link
Pantalla
#/configuracion-page
API
GET /v1/app/Configuration/banks/parameters/freecover 200GET /v1/app/Claims/rejection-types 200
44

Configuraciones — tab FreeCover

Primer tab: montos FreeCover por banco (monto máximo bajo el cual el caso se procesa sin gestión médica), con fecha y usuario de la última actualización. Los montos son editables y se guardan en bloque (no se modifica nada en esta prueba).

Paso 44
Elemento
Tab FreeCover mat-tab-group.tab-tesoreria
Pantalla
#/configuracion-page
45

Click en «Tab «Motivo rechazo»»

Segundo tab: catálogo de motivos de rechazo que usan los analistas al rechazar un caso (GET /Claims/rejection-types).

Paso 45
Elemento
Tab «Motivo rechazo» mat-tab-group .mdc-tab:has-text('Motivo rechazo')
Pantalla
#/configuracion-page
46

Catálogo de motivos de rechazo

El catálogo lista 13 motivos (filas visibles). Cada motivo puede eliminarse y se pueden agregar nuevos.

Paso 46
Elemento
Tabla de motivos app-rechazo-configuracion table
Pantalla
#/configuracion-page
47

Click en «Agregar Motivo»

Abre el dialog de alta de motivo de rechazo (textarea + confirmación). NO se agrega ningún motivo.

Paso 47
Elemento
Agregar Motivo app-rechazo-configuracion button:has-text('Agregar Motivo')
Pantalla
#/configuracion-page
Ventana emergente
Agregar motivo de rechazo close Agregar motivo check
closeAgregar motivo check
48

Cerrar el alta de motivo sin confirmar

Catálogo intacto.

Paso 48
Pantalla
#/configuracion-page
49

Ir a «Reportes» desde el menú lateral

El Angular Router intercepta el click (el href del sidebar es path-based, no hash)

Paso 49
Elemento
Menú: Reportes a.sidebar-menu-link
Pantalla
#/reportes-page
API
GET /v1/app/Configuration/banks 200
50

Pantalla de Reportes

Generador de reportes Excel: Tipo de reporte (Rechazados / Reclamos por etapa), Banco, Etapa (solo para reclamos por etapa) y rango de fechas obligatorio.

Paso 50
Elemento
reportes-page h2
Pantalla
#/reportes-page
51

Probar la validación: generar sin completar los filtros

El sistema exige tipo, banco y fechas. Mensaje mostrado: «Debe completar todo el formulario para continuar.»

Paso 51
Elemento
Botón Generar reporte button:has-text('Generar reporte')
Pantalla
#/reportes-page
52

Abrir combo «Tipo de reporte»

El overlay CDK de Material despliega las opciones

Paso 52
Elemento
«Tipo de reporte» mat-select[placeholder='Seleccionar']
Pantalla
#/reportes-page
53

Elegir «Reclamos por etapa» en «Tipo de reporte»

Reporte con todos los reclamos filtrables por etapa del flujo.

Paso 53
Elemento
«Tipo de reporte» mat-option:has-text('Reclamos por etapa')
Pantalla
#/reportes-page
54

Abrir combo «Banco»

El overlay CDK de Material despliega las opciones

Paso 54
Elemento
«Banco» mat-select[placeholder='Banco']
Pantalla
#/reportes-page
55

Elegir «Todos» en «Banco»

Se incluyen los tres bancos tomadores.

Paso 55
Elemento
«Banco» mat-option:has-text('Todos')
Pantalla
#/reportes-page
56

Abrir combo «Etapa»

El overlay CDK de Material despliega las opciones

Paso 56
Elemento
«Etapa» mat-select[placeholder='Etapa']
Pantalla
#/reportes-page
57

Elegir «Todos» en «Etapa»

Todas las etapas del flujo del siniestro.

Paso 57
Elemento
«Etapa» mat-option:has-text('Todos')
Pantalla
#/reportes-page
58

Elegir la fecha inicial (18 meses atrás, día 1)

El campo de fecha es de solo lectura: se completa con el calendario de Material.

Paso 58
Elemento
Datepicker Fecha inicial
Pantalla
#/reportes-page
59

Elegir la fecha final (hoy)

Rango completo: últimos 18 meses.

Paso 59
Elemento
Datepicker Fecha final
Pantalla
#/reportes-page
60

Generar y descargar «Reclamos por etapa»

El backend genera el Excel (POST /Claims/download-report-states, JSON base64) y el navegador lo descarga: reporte-siniestros-etapa-13-07-2026.xlsx

Paso 60
Elemento
Botón Generar reporte
Pantalla
#/reportes-page
API
POST /v1/app/Claims/download-report-states 200
61

Abrir combo «Tipo de reporte»

El overlay CDK de Material despliega las opciones

Paso 61
Elemento
«Tipo de reporte» mat-select[placeholder='Seleccionar']
Pantalla
#/reportes-page
62

Elegir «Rechazados» en «Tipo de reporte»

Cambia al reporte de casos rechazados (el campo Etapa desaparece).

Paso 62
Elemento
«Tipo de reporte» mat-option:has-text('Rechazados')
Pantalla
#/reportes-page
63

Generar y descargar «Rechazados»

POST /Claims/download-report-rejected → Excel descargado: reporte-siniestros-rechazados-13-07-2026.xlsx

Paso 63
Elemento
Botón Generar reporte
Pantalla
#/reportes-page
API
POST /v1/app/Claims/download-report-rejected 200
64

Ir a «Ingreso de denuncias» desde el menú lateral

El Angular Router intercepta el click (el href del sidebar es path-based, no hash)

Paso 64
Elemento
Menú: Ingreso de denuncias a.sidebar-menu-link
Pantalla
#/ingresar-denuncia-page
65

Ingreso de siniestros (carga masiva)

Pantalla de ingreso de denuncias: se elige el banco tomador, se descarga la plantilla Excel de ejemplo y se sube el archivo con los casos. La única modalidad activa es «Carga masiva» (la carga manual existe en el código pero no es accesible).

Paso 65
Elemento
ingresar-denuncia-page h2
Pantalla
#/ingresar-denuncia-page
66

Click en «Radio «Banco Sol»»

Selecciona el banco tomador. OJO: por defecto ningún banco queda seleccionado en el modelo, siempre hay que clickear uno.

Paso 66
Elemento
Radio «Banco Sol» mat-radio-group.bancos mat-radio-button:has-text('Banco Sol')
Pantalla
#/ingresar-denuncia-page
67

Dropzone de carga del Excel masivo

Zona de arrastre para el archivo («upload_file Escoge tu archivo o arrástralo aquí para subir»). También hay un link con la plantilla de ejemplo del banco elegido. NO se sube ningún archivo en esta prueba.

Paso 67
Elemento
app-file-dropzone app-file-dropzone
Pantalla
#/ingresar-denuncia-page
68

Probar la validación: ingresar denuncia sin archivo

Mensaje del sistema: «Seleccione un archivo para continuar.»

Paso 68
Elemento
Botón Ingresar denuncia
Pantalla
#/ingresar-denuncia-page
69

Click en «Avatar del supervisor»

Abre el menú de perfil del header (nombre completo, rol y Logout).

Paso 69
Elemento
Avatar del supervisor button.profile-menu-btn
Pantalla
#/ingresar-denuncia-page
70

Click en «Logout»

Cierra la sesión del supervisor y vuelve al login. El ítem del menú está en inglés («Logout»).

Paso 70
Elemento
Logout .profile-menu-dropdown .link-btn, .profile-menu-dropdown a[href*='logout']
Pantalla
#/login-page