feat(web): fecha del documento, referencia 2 y comentarios del asiento en los movimientos de inventario

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
GeorgeandClaude Sonnet 5.5 committed 2026-10-16 12:18:09 -05:00
1 parent 35ba97bcde
commit fdc042ddcd
4 files changed
+42 -3

No files matched your search

@@ -284,3 +284,30 @@ describe('el indicador de la cabecera se elige de su ventana modal', () => {
expect(fixture.componentInstance['header']()['Indicator']).toBe('39');
});
});
describe('cabecera de los movimientos de inventario', () => {
const by = (path: string) => DOCUMENT_SCREENS.find((s) => s.path === path)!.layout;
it('las entradas y salidas llevan fecha del documento, referencia 2 y comentarios del asiento', () => {
for (const p of ['/inventario/entradas', '/inventario/salidas']) {
expect(headerKeysOf(by(p)), p).toEqual(expect.arrayContaining(['DocDate', 'TaxDate', 'Reference2', 'JournalMemo', 'Series', 'Indicator', 'Project']));
expect(headerKeysOf(by(p)), p).not.toContain('DueDate');
}
});
it('las transferencias y solicitudes de traslado suman la fecha de vencimiento', () => {
for (const p of ['/inventario/transferencias', '/inventario/solicitudes-traslado']) {
expect(headerKeysOf(by(p)), p).toEqual(expect.arrayContaining(['FromWarehouse', 'ToWarehouse', 'TaxDate', 'DueDate', 'Reference2', 'JournalMemo']));
}
});
it('Reference1 no se edita: lo asigna SAP', () => {
for (const s of DOCUMENT_SCREENS) expect(headerKeysOf(s.layout), s.path).not.toContain('Reference1');
});
it('las fechas se leen y se envían como AAAA-MM-DD', () => {
// el formulario normaliza `2026-10-16T00:00:00Z` (TaxDate / DueDate) igual que las demás fechas
const keys = headerKeysOf(by('/inventario/transferencias'));
expect(keys).toEqual(expect.arrayContaining(['TaxDate', 'DueDate']));
});
});