feat(web): formulario de pagos recibidos y efectuados (documentos abiertos, medios de pago, cheques, cuentas, anulación)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
GeorgeandClaude Sonnet 5.5 committed 2026-10-16 13:28:55 -05:00
1 parent 369be317ab
commit 3d6f76a1dd
14 files changed
+1213 -1

No files matched your search

+13
View File
@@ -2,6 +2,8 @@ import { MENU } from '@basic-erp/sap-types';
import { describe, expect, it } from 'vitest';
import { routes } from './app.routes';
import { permissionGuard } from './core/auth/guards';
import { PAYMENT_PATHS } from './features/banking/payment-paths';
import { PAYMENT_SCREENS } from './features/banking/payment-screens';
import { DOCUMENT_PATHS } from './features/documents/document-paths';
import { DOCUMENT_SCREENS } from './features/documents/document-screens';
import { MASTER_PATHS } from './features/masters/master-paths';
@@ -54,6 +56,17 @@ describe('rutas', () => {
expect([...MASTER_PATHS].sort()).toEqual(MASTER_SCREENS.map((s) => s.path).sort());
});
it('cada pago ofrece lista, "nuevo" y "ver/anular" bajo la ruta del menú', async () => {
for (const path of PAYMENT_PATHS) {
const route = children.find((r) => r.path === path.slice(1))!;
expect(route.children?.map((c) => c.path), path).toEqual(['', 'nuevo', ':docEntry']);
expect(route.canActivate, path).toContain(permissionGuard);
const screen = await (route.resolve!['screen'] as () => Promise<{ path: string }>)();
expect(screen.path).toBe(path);
}
expect([...PAYMENT_PATHS].sort()).toEqual(PAYMENT_SCREENS.map((s) => s.path).sort());
});
it('la página de componentes está restringida a desarrollo y no está en el menú', () => {
const route = children.find((r) => r.path === 'dev/componentes');
expect(route?.loadComponent).toBeDefined();