From 0ca89cad866a5b4429b32244d3ca90bcaff41896 Mon Sep 17 00:00:00 2001 From: Matt Casey Date: Fri, 2 Feb 2024 18:59:49 -0500 Subject: [PATCH] Tests for uncovered edge cases --- packages/react-query/package.json | 3 +- .../src/__tests__/useQuery.test.tsx | 51 +++++++++++++++++++ packages/stainless/package.json | 3 +- 3 files changed, 55 insertions(+), 2 deletions(-) diff --git a/packages/react-query/package.json b/packages/react-query/package.json index 3097b21f..6dafcc63 100644 --- a/packages/react-query/package.json +++ b/packages/react-query/package.json @@ -40,7 +40,8 @@ "scripts": { "clean": "rimraf dist *.tsbuildinfo", "prebuild": "mkdir -p dist/esm && echo '{\"type\": \"module\"}' > dist/esm/package.json", - "test": "jest" + "test": "jest", + "test:watch": "jest --watch" }, "devDependencies": { "@tanstack/query-core": "^4.36.1", diff --git a/packages/react-query/src/__tests__/useQuery.test.tsx b/packages/react-query/src/__tests__/useQuery.test.tsx index ba3bedab..dc98a1f0 100644 --- a/packages/react-query/src/__tests__/useQuery.test.tsx +++ b/packages/react-query/src/__tests__/useQuery.test.tsx @@ -59,6 +59,41 @@ const api = stl.api({ }), }, }), + multiplePathParams: stl.resource({ + summary: "multiParam", + actions: { + retrieve: stl.endpoint({ + endpoint: "GET /multiplePathParams/{foo}/{bar}", + path: z.object({ foo: z.string(), bar: z.number() }), + response: z.any(), + async handler() {}, + }), + }, + }), + nestedResource: stl.resource({ + summary: "parent", + actions: { + retrieve: stl.endpoint({ + endpoint: "GET /resource/{parentId}", + path: z.object({ parentId: z.string() }), + response: z.any(), + async handler() {}, + }), + }, + namespacedResources: { + subResource: stl.resource({ + summary: "subResource", + actions: { + retrieve: stl.endpoint({ + endpoint: "GET /resource/{parentId}/subResource/{childId}", + path: z.object({ parentId: z.string(), childId: z.string() }), + response: z.any(), + async handler() {}, + }), + }, + }), + }, + }), }, }); @@ -110,6 +145,22 @@ describe("useQuery methods", () => { (client) => client.pathOptionalQuery.useRetrieve("a"), "/pathOptionalQuery/a", ], + [ + "get with multiple path params", + (client) => client.multiplePathParams.useRetrieve("foo", "bar"), + "/multiplePathParams/foo/bar", + ], + [ + "get nested namespaced resource parent", + (client) => client.nestedResource.useRetrieve("parent"), + "/resource/parent", + ], + [ + "get nested namespaced resource child", + (client) => + client.nestedResource.subResource.useRetrieve("parent", "child"), + "/resource/parent/subResource/child", + ], ] as [ string, (client: StainlessReactQueryClient) => UseQueryResult, diff --git a/packages/stainless/package.json b/packages/stainless/package.json index 481385b6..d61ee1f9 100644 --- a/packages/stainless/package.json +++ b/packages/stainless/package.json @@ -32,7 +32,8 @@ "scripts": { "clean": "rimraf dist *.tsbuildinfo", "prebuild": "mkdir -p dist/esm && echo '{\"type\": \"module\"}' > dist/esm/package.json", - "test": "jest" + "test": "jest", + "test:watch": "jest --watch" }, "devDependencies": { "@types/jest": "^29.5.10",