27 lines
1.2 KiB
TypeScript
27 lines
1.2 KiB
TypeScript
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');
|
||
|
|
});
|
||
|
|
});
|