import { SL_RESOURCE_MAP } from '../sl/sl-resources.js'; import { SAPDB_QUERIES } from './sapdb-queries.js'; import { bindNamed } from './sapdb-sql.js'; describe('consultas de TAGUMEDICA', () => { it('registra las del flujo de lotes y cada una es de solo lectura (el registro lo valida al cargar)', () => { for (const name of ['lot-stock', 'lot-sources']) { expect(SAPDB_QUERIES.has(name), name).toBe(true); } }); it('el origen de un lote se busca con artículo, lote y almacén como parámetros', () => { const q = SAPDB_QUERIES.get('lot-sources')!; const b = bindNamed(q.sql.hana!, { item: 'A1', lot: 'L1', warehouse: '302' }); expect(b.args).toEqual(['A1', 'L1', '302']); expect(b.sql).not.toContain(':'); }); it('las tres pantallas del flujo pueden leer y modificar las solicitudes de traslado', () => { const r = SL_RESOURCE_MAP.get('InventoryTransferRequests')!; for (const p of ['/inventario/inmovilizar-lotes', '/inventario/liberar-lotes', '/inventario/confirmar-liberacion-lote']) { expect(r.read as string[], p).toContain(p); expect(r.write as string[], p).toContain(p); } expect(r.write as string[]).toContain('/inventario/solicitudes-traslado'); }); });