0

improved js response and test for getting partial_data

This commit is contained in:
rafaelsideguide 2024-05-30 08:44:38 -03:00
parent 51b0b88cd4
commit 2b763d848b
2 changed files with 18 additions and 3 deletions

View File

@ -99,8 +99,17 @@ describe('FirecrawlApp E2E Tests', () => {
expect(response).not.toBeNull(); expect(response).not.toBeNull();
expect(response.jobId).toBeDefined(); expect(response.jobId).toBeDefined();
await new Promise(resolve => setTimeout(resolve, 10000)); // wait for 10 seconds let statusResponse = await app.checkCrawlStatus(response.jobId);
const statusResponse = await app.checkCrawlStatus(response.jobId); const maxChecks = 15;
let checks = 0;
while (statusResponse.status === 'active' && checks < maxChecks) {
await new Promise(resolve => setTimeout(resolve, 1000));
expect(statusResponse.partial_data).not.toBeNull();
statusResponse = await app.checkCrawlStatus(response.jobId);
checks++;
}
expect(statusResponse).not.toBeNull(); expect(statusResponse).not.toBeNull();
expect(statusResponse.status).toBe('completed'); expect(statusResponse.status).toBe('completed');
expect(statusResponse.data.length).toBeGreaterThan(0); expect(statusResponse.data.length).toBeGreaterThan(0);

View File

@ -56,6 +56,7 @@ export interface JobStatusResponse {
status: string; status: string;
jobId?: string; jobId?: string;
data?: any; data?: any;
partial_data?: any,
error?: string; error?: string;
} }
@ -226,7 +227,12 @@ export default class FirecrawlApp {
headers headers
); );
if (response.status === 200) { if (response.status === 200) {
return response.data; return {
success: true,
status: response.data.status,
data: response.data.data,
partial_data: !response.data.data ? response.data.partial_data : undefined,
};
} else { } else {
this.handleError(response, "check crawl status"); this.handleError(response, "check crawl status");
} }