feat(captura): fechas de Obra bloqueadas tras establecerse, solo admin las cambia
This commit is contained in:
@@ -277,4 +277,46 @@ describe('TablaCaptura', () => {
|
||||
expect(onGuardar).toHaveBeenCalledTimes(1)
|
||||
expect(onGuardar.mock.calls[0][0]['409-1']).toEqual({ comentarios_obra: 'Nota X' })
|
||||
})
|
||||
|
||||
it('fechas de Obra guardadas: disabled para no-admin, editables para admin', () => {
|
||||
const camposEmparejados: CampoDef[] = [
|
||||
{ campo: 'certificacion_gas', tipo: 'boolean', label: 'Certificación Gas', conFecha: 'certificacion_gas_fecha' },
|
||||
{ campo: 'certificacion_gas_fecha', tipo: 'date', label: 'Fecha Certificación Gas' },
|
||||
]
|
||||
const datosConFecha: DatosCaptura = {
|
||||
'409-1': { certificacion_gas: null, certificacion_gas_fecha: '2026-01-01' },
|
||||
'409-2': { certificacion_gas: null, certificacion_gas_fecha: null },
|
||||
}
|
||||
|
||||
// No-admin: la fecha guardada se deshabilita, la vacía sigue editable
|
||||
const r1 = render(
|
||||
<TablaCaptura
|
||||
unidades={UNIDADES}
|
||||
campos={camposEmparejados}
|
||||
datos={datosConFecha}
|
||||
onGuardar={vi.fn()}
|
||||
guardando={false}
|
||||
puedeEditarFechas={false}
|
||||
/>,
|
||||
)
|
||||
const fechas1 = r1.container.querySelectorAll('input[type="date"]')
|
||||
expect((fechas1[0] as HTMLInputElement).disabled).toBe(true)
|
||||
expect((fechas1[1] as HTMLInputElement).disabled).toBe(false)
|
||||
r1.unmount()
|
||||
|
||||
// Admin: todas editables
|
||||
const r2 = render(
|
||||
<TablaCaptura
|
||||
unidades={UNIDADES}
|
||||
campos={camposEmparejados}
|
||||
datos={datosConFecha}
|
||||
onGuardar={vi.fn()}
|
||||
guardando={false}
|
||||
puedeEditarFechas
|
||||
/>,
|
||||
)
|
||||
const fechas2 = r2.container.querySelectorAll('input[type="date"]')
|
||||
expect((fechas2[0] as HTMLInputElement).disabled).toBe(false)
|
||||
expect((fechas2[1] as HTMLInputElement).disabled).toBe(false)
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user