Nick: map e2e tests
This commit is contained in:
@@ -0,0 +1,117 @@
|
|||||||
|
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
|
||||||
|
);
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user