29 lines
1.4 KiB
TypeScript
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'");
|
|
});
|
|
});
|