INNER CODE UNIT · TypeScript
slowResponse
Snailclimb/interview-guide · frontend/e2e/knowledgebase-upload.spec.ts:69
const slowResponse = new Promise<void>(resolve => { releaseSlow = resolve; });
await page.route('**/api/knowledgebase/upload', route => success(route,
uploadResult(++uploads, 'PENDING')));
await page.route('**/api/knowledgebase/1', async route => {
slowQueries++;
await slowResponse;
await success(route, { id: 1, vectorStatus: 'COMPLETED' });
});
await page.route('**/api/knowledgebase/2', route => success(route, {
id: 2, vectorStatus: 'COMPLETED',
}));
try {
await page.goto('/knowledgebase/upload');
await page.locator('input[type=file]').setInputFiles(fixture('slow.txt'));
await page.getByRole('button', { name: '加入上传队列 1 个文件' }).click();
await expect.poll(() => slowQueries).toBe(1);
await page.locator('input[type=file]').setInputFiles(fixture('fast.txt'));
await page.getByRole('button', { name: '加入上传队列 1 个文件' }).click();