Spaces:
Paused
Paused
| import request from "supertest"; | |
| import dotenv from "dotenv"; | |
| dotenv.config(); | |
| const TEST_URL = "http://127.0.0.1:3002"; | |
| describe("E2E Tests for Map API Routes", () => { | |
| it.concurrent( | |
| "(feat-search)should return links containing 'smart-crawl'", | |
| async () => { | |
| const response = await request(TEST_URL) | |
| .post("/v1/map") | |
| .set("Authorization", `Bearer ${process.env.TEST_API_KEY}`) | |
| .set("Content-Type", "application/json") | |
| .send({ | |
| url: "https://firecrawl.dev", | |
| sitemapOnly: false, | |
| search: "smart-crawl", | |
| }); | |
| console.log(response.body); | |
| expect(response.statusCode).toBe(200); | |
| expect(response.body).toHaveProperty("links"); | |
| expect(response.body.links.length).toBeGreaterThan(0); | |
| expect(response.body.links[0]).toContain("firecrawl.dev/smart-crawl"); | |
| }, | |
| 60000, | |
| ); | |
| it.concurrent( | |
| "(feat-subdomains) should return mapped links for firecrawl.dev with subdomains included", | |
| async () => { | |
| const response = await request(TEST_URL) | |
| .post("/v1/map") | |
| .set("Authorization", `Bearer ${process.env.TEST_API_KEY}`) | |
| .set("Content-Type", "application/json") | |
| .send({ | |
| url: "https://firecrawl.dev", | |
| sitemapOnly: false, | |
| includeSubdomains: true, | |
| }); | |
| console.log(response.body); | |
| expect(response.statusCode).toBe(200); | |
| expect(response.body).toHaveProperty("links"); | |
| expect(response.body.links.length).toBeGreaterThan(0); | |
| expect(response.body.links[response.body.links.length - 1]).toContain( | |
| "docs.firecrawl.dev", | |
| ); | |
| }, | |
| 60000, | |
| ); | |
| it.concurrent( | |
| "(feat-sitemap-only) should return mapped links for firecrawl.dev with sitemap only", | |
| async () => { | |
| const response = await request(TEST_URL) | |
| .post("/v1/map") | |
| .set("Authorization", `Bearer ${process.env.TEST_API_KEY}`) | |
| .set("Content-Type", "application/json") | |
| .send({ | |
| url: "https://firecrawl.dev", | |
| sitemapOnly: true, | |
| }); | |
| console.log(response.body); | |
| expect(response.statusCode).toBe(200); | |
| expect(response.body).toHaveProperty("links"); | |
| expect(response.body.links.length).toBeGreaterThan(0); | |
| expect(response.body.links[response.body.links.length - 1]).not.toContain( | |
| "docs.firecrawl.dev", | |
| ); | |
| }, | |
| 60000, | |
| ); | |
| it.concurrent( | |
| "(feat-limit) should return mapped links for firecrawl.dev with a limit", | |
| async () => { | |
| const response = await request(TEST_URL) | |
| .post("/v1/map") | |
| .set("Authorization", `Bearer ${process.env.TEST_API_KEY}`) | |
| .set("Content-Type", "application/json") | |
| .send({ | |
| url: "https://firecrawl.dev", | |
| sitemapOnly: false, | |
| limit: 10, | |
| }); | |
| console.log(response.body); | |
| expect(response.statusCode).toBe(200); | |
| expect(response.body).toHaveProperty("links"); | |
| expect(response.body.links.length).toBeLessThanOrEqual(10); | |
| }, | |
| 60000, | |
| ); | |
| it.concurrent( | |
| "(feat-sitemap-large) should return more than 1900 links for geekflare sitemap", | |
| async () => { | |
| const response = await request(TEST_URL) | |
| .post("/v1/map") | |
| .set("Authorization", `Bearer ${process.env.TEST_API_KEY}`) | |
| .set("Content-Type", "application/json") | |
| .send({ | |
| url: "https://geekflare.com/sitemap_index.xml", | |
| sitemapOnly: true, | |
| }); | |
| console.log(response.body); | |
| expect(response.statusCode).toBe(200); | |
| expect(response.body).toHaveProperty("links"); | |
| expect(response.body.links.length).toBeGreaterThan(1900); | |
| }, | |
| 60000, | |
| ); | |
| }); | |