From d0a5ae6ae3b990bb1a2588a32143077b9a6a4dca Mon Sep 17 00:00:00 2001 From: Sam Rose Date: Thu, 4 Apr 2024 15:27:50 +0100 Subject: [PATCH] Respond to Mike's feedback. --- packages/server/jest.config.ts | 9 +++------ packages/server/package.json | 2 +- packages/server/src/api/controllers/query/index.ts | 9 ++++++++- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/packages/server/jest.config.ts b/packages/server/jest.config.ts index d0c184248c..6341c8e5bd 100644 --- a/packages/server/jest.config.ts +++ b/packages/server/jest.config.ts @@ -54,12 +54,9 @@ const config: Config.InitialOptions = { "!src/db/views/staticViews.*", "!src/**/*.spec.{js,ts}", "!src/tests/**/*.{js,ts}", - // The use of coverage in the JS runner bundles breaks tests - "!src/jsRunner/bundles/**/*.{js,ts}", - // We have a polyfill for the TextDecoder class in here that gets - // injected into the vm for deserializing BSON. If it gets coveraged - // it breaks the tests. - "!src/jsRunner/vm/isolated-vm.ts", + // The use of coverage in the JS runner breaks tests by inserting + // coverage functions into code that will run inside of the isolate. + "!src/jsRunner/**/*.{js,ts}", ], coverageReporters: ["lcov", "json", "clover"], } diff --git a/packages/server/package.json b/packages/server/package.json index d138577090..4d1df4d734 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -143,7 +143,7 @@ "jest": "29.7.0", "jest-openapi": "0.14.2", "jest-runner": "29.7.0", - "nock": "^13.5.4", + "nock": "13.5.4", "nodemon": "2.0.15", "openapi-typescript": "5.2.0", "path-to-regexp": "6.2.0", diff --git a/packages/server/src/api/controllers/query/index.ts b/packages/server/src/api/controllers/query/index.ts index 02a2bf25b0..b52cea553f 100644 --- a/packages/server/src/api/controllers/query/index.ts +++ b/packages/server/src/api/controllers/query/index.ts @@ -299,7 +299,14 @@ export async function preview( }, } - const { rows, keys, info, extra } = await Runner.run(inputs) + let queryResponse: QueryResponse + try { + queryResponse = await Runner.run(inputs) + } catch (err: any) { + ctx.throw(400, err) + } + + const { rows, keys, info, extra } = queryResponse const { previewSchema, nestedSchemaFields } = getSchemaFields(rows, keys) // if existing schema, update to include any previous schema keys