INNER CODE UNIT · TypeScript
oldResponse
Snailclimb/interview-guide · frontend/e2e/knowledgebase-upload.spec.ts:111
const oldResponse = new Promise<void>(resolve => { releaseOld = resolve; });
await page.route('**/api/knowledgebase/upload', route => success(route,
uploadResult(3, 'FAILED', { duplicate: true, message: '检测到重复文件,已返回现有知识库' })));
await page.route('**/api/knowledgebase/3', async route => {
queries++;
if (queries === 1) {
await oldResponse;
return success(route, { id: 3, vectorStatus: 'FAILED', vectorError: '旧失败原因' });
}
return success(route, { id: 3, vectorStatus: 'COMPLETED' });
});
await page.route('**/api/knowledgebase/3/revectorize', route => success(route, null));
try {
await page.goto('/knowledgebase/upload');
await page.locator('input[type=file]').setInputFiles(fixture('retry-vector.txt'));
await page.getByRole('button', { name: '加入上传队列 1 个文件' }).click();
await expect.poll(() => queries).toBe(1);
const aborted = page.waitForEvent('requestfailed', request => request.url().endsWith('/api/knowledgebase/3'));