Files
firecrawl/apps/api/src/__tests__/snips/map.test.ts
T
Gergő Móricz 97e6c28cf9 temp: debugging
2025-02-18 11:28:12 +01:00

64 lines
2.0 KiB
TypeScript

import request from "supertest";
import { configDotenv } from "dotenv";
import { MapRequestInput } from "../../controllers/v1/types";
configDotenv();
const TEST_URL = "http://127.0.0.1:3002";
async function map(body: MapRequestInput) {
return await request(TEST_URL)
.post("/v1/map")
.set("Authorization", `Bearer ${process.env.TEST_API_KEY}`)
.set("Content-Type", "application/json")
.send(body);
}
function expectMapToSucceed(response: Awaited<ReturnType<typeof map>>) {
expect(response.statusCode).toBe(200);
expect(response.body.success).toBe(true);
expect(Array.isArray(response.body.links)).toBe(true);
expect(response.body.links.length).toBeGreaterThan(0);
}
describe("Map tests", () => {
it("basic map succeeds", async () => {
const response = await map({
url: "http://firecrawl.dev",
});
expectMapToSucceed(response);
}, 10000);
it("times out properly", async () => {
const response = await map({
url: "http://firecrawl.dev",
timeout: 1
});
expect(response.statusCode).toBe(408);
expect(response.body.success).toBe(false);
expect(response.body.error).toBe("Request timed out");
}, 10000);
it("handles query parameters correctly", async () => {
let response = await map({
url: "https://www.hfea.gov.uk",
sitemapOnly: true,
});
expect(response.statusCode).toBe(200);
expect(response.body.success).toBe(true);
console.log(response.body.links.slice(0,20));
expect(response.body.links.some(x => x.match(/^https:\/\/www\.hfea\.gov\.uk\/choose-a-clinic\/clinic-search\/results\/?\?options=\d+$/))).toBe(true);
response = await map({
url: "https://www.hfea.gov.uk",
ignoreSitemap: false,
});
expect(response.statusCode).toBe(200);
expect(response.body.success).toBe(true);
expect(response.body.links.some(x => x.match(/^https:\/\/www\.hfea\.gov\.uk\/choose-a-clinic\/clinic-search\/results\/?\?options=\d+$/))).toBe(true);
}, 300000); // TODO: mocks
});