Files
kaidi/frontend/tests/receivable-source-correction.test.ts
T
2026-08-17 14:08:40 +08:00

29 lines
1.4 KiB
TypeScript

import { readFileSync } from 'node:fs';
import { resolve } from 'node:path';
import { describe, expect, it } from 'vitest';
const receivableApi = readFileSync(resolve(process.cwd(), 'src/api/receivable.ts'), 'utf8');
const page = readFileSync(resolve(process.cwd(), 'src/pages/finance/ReceiptsInvoicesPage.vue'), 'utf8');
describe('oa-08 returned invoice source correction', () => {
it('exposes the source document and version on invoice views', () => {
expect(receivableApi).toContain('sourceDocumentId?: string | null');
expect(receivableApi).toContain('sourceVersionId?: string | null');
});
it('requires source return points and sends them through the review command', () => {
expect(page).toContain('v-model="actionData.returnPoints"');
expect(page).toContain(':options="oa08ReturnPointOptions"');
expect(page).toContain("returnPoints: actionData.decision === 'RETURN' ? actionData.returnPoints : []");
expect(page).toContain('请选择至少一个需要更正的来源字段');
});
it('uses the existing form editor for source correction and hides direct rejection', () => {
expect(page).toContain("name: 'FormEditor'");
expect(page).toContain("params: { formType: 'OA-08', documentId: sourceDocumentId }");
expect(page).toContain('v-if="!sourceReviewInvoice" value="REJECT"');
expect(page).toContain("invoiceDetail.sourceDocumentId && invoiceDetail.status === 'RETURNED'");
});
});