mirror of
https://github.com/profullstack/logicsrc.git
synced 2026-08-13 22:37:29 +00:00
Ignore invalid feed discovery limits (#16)
This commit is contained in:
parent
9ed98ceaf7
commit
9942ef8dc6
2 changed files with 5 additions and 1 deletions
|
|
@ -98,6 +98,8 @@ describe("CommandBoard API contracts", () => {
|
||||||
const providersBody = await providersResponse.json() as { providers: Array<{ id: string; enabledByDefault: boolean }> };
|
const providersBody = await providersResponse.json() as { providers: Array<{ id: string; enabledByDefault: boolean }> };
|
||||||
const discoverResponse = await fetch(`${baseUrl}/api/feeds/discover?q=microsaas&providers=manual-curated&includeUnvalidated=true`);
|
const discoverResponse = await fetch(`${baseUrl}/api/feeds/discover?q=microsaas&providers=manual-curated&includeUnvalidated=true`);
|
||||||
const discoverBody = await discoverResponse.json() as { query: string; results: Array<{ feedUrl: string; provider: string }> };
|
const discoverBody = await discoverResponse.json() as { query: string; results: Array<{ feedUrl: string; provider: string }> };
|
||||||
|
const invalidLimitResponse = await fetch(`${baseUrl}/api/feeds/discover?q=microsaas&limit=-1&providers=manual-curated&includeUnvalidated=true`);
|
||||||
|
const invalidLimitBody = await invalidLimitResponse.json() as { results: Array<{ feedUrl: string; provider: string }> };
|
||||||
const rssResponse = await fetch(`${baseUrl}/rss/discover/microsaas.xml?providers=manual-curated&includeUnvalidated=true`);
|
const rssResponse = await fetch(`${baseUrl}/rss/discover/microsaas.xml?providers=manual-curated&includeUnvalidated=true`);
|
||||||
const rssBody = await rssResponse.text();
|
const rssBody = await rssResponse.text();
|
||||||
const opmlResponse = await fetch(`${baseUrl}/opml/discover/microsaas.xml?providers=manual-curated&includeUnvalidated=true`);
|
const opmlResponse = await fetch(`${baseUrl}/opml/discover/microsaas.xml?providers=manual-curated&includeUnvalidated=true`);
|
||||||
|
|
@ -108,6 +110,8 @@ describe("CommandBoard API contracts", () => {
|
||||||
expect(discoverResponse.status).toBe(200);
|
expect(discoverResponse.status).toBe(200);
|
||||||
expect(discoverBody.query).toBe("microsaas");
|
expect(discoverBody.query).toBe("microsaas");
|
||||||
expect(discoverBody.results[0]).toMatchObject({ provider: "manual-curated" });
|
expect(discoverBody.results[0]).toMatchObject({ provider: "manual-curated" });
|
||||||
|
expect(invalidLimitResponse.status).toBe(200);
|
||||||
|
expect(invalidLimitBody.results[0]).toMatchObject({ provider: "manual-curated" });
|
||||||
expect(rssResponse.status).toBe(200);
|
expect(rssResponse.status).toBe(200);
|
||||||
expect(rssBody).toContain("<rss");
|
expect(rssBody).toContain("<rss");
|
||||||
expect(opmlResponse.status).toBe(200);
|
expect(opmlResponse.status).toBe(200);
|
||||||
|
|
|
||||||
|
|
@ -331,7 +331,7 @@ function numberParam(value: string | null) {
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
const parsed = Number(value);
|
const parsed = Number(value);
|
||||||
return Number.isFinite(parsed) ? parsed : undefined;
|
return Number.isFinite(parsed) && parsed > 0 ? parsed : undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
function listParam(value: string | null) {
|
function listParam(value: string | null) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue