diff --git a/src/api/yepcodeApi.ts b/src/api/yepcodeApi.ts index 8bdf450..10b2064 100644 --- a/src/api/yepcodeApi.ts +++ b/src/api/yepcodeApi.ts @@ -364,6 +364,7 @@ export class YepCodeApi { async getProcesses( params: { keywords?: string; + tags?: string[]; page?: number; limit?: number; } = {} diff --git a/tests/api/yepcodeApi.test.ts b/tests/api/yepcodeApi.test.ts new file mode 100644 index 0000000..1a6f3da --- /dev/null +++ b/tests/api/yepcodeApi.test.ts @@ -0,0 +1,32 @@ +import { YepCodeApi } from "../../src/api/yepcodeApi"; +import { ProcessesPaginatedResult } from "../../src/api/types"; + +const api = new YepCodeApi(); + +describe("YepCodeApi", () => { + describe("processes", () => { + it("should return a paginated list of processes", async () => { + const result: ProcessesPaginatedResult = await api.getProcesses(); + + expect(result).toHaveProperty("hasNextPage"); + expect(result).toHaveProperty("page"); + expect(result).toHaveProperty("limit"); + expect(result).toHaveProperty("total"); + expect(result).toHaveProperty("data"); + expect(Array.isArray(result.data)).toBe(true); + }); + + it("should return a paginated list of processes with a tag", async () => { + const result: ProcessesPaginatedResult = await api.getProcesses({ + tags: ["yc-run", "dummy"], + }); + + expect(result).toHaveProperty("hasNextPage"); + expect(result).toHaveProperty("page"); + expect(result).toHaveProperty("limit"); + expect(result).toHaveProperty("total"); + expect(result).toHaveProperty("data"); + expect(Array.isArray(result.data)).toBe(true); + }); + }); +});