From 2938d3a92d0e6b6b3ec6be8a3c89cca78996e54f Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Mon, 7 Jun 2021 14:08:49 +0100 Subject: [PATCH] Fixing broken backend test cases. --- .../server/src/api/routes/tests/misc.spec.js | 32 ++++++++++++++++++- .../server/src/api/routes/tests/row.spec.js | 1 + .../server/src/api/routes/tests/view.spec.js | 30 ++++++++++++++--- .../server/src/tests/utilities/structures.js | 1 - packages/string-templates/src/index.cjs | 3 ++ 5 files changed, 60 insertions(+), 7 deletions(-) diff --git a/packages/server/src/api/routes/tests/misc.spec.js b/packages/server/src/api/routes/tests/misc.spec.js index f9608c0d49..04a5c62431 100644 --- a/packages/server/src/api/routes/tests/misc.spec.js +++ b/packages/server/src/api/routes/tests/misc.spec.js @@ -37,7 +37,37 @@ describe("run misc tests", () => { describe("test table utilities", () => { it("should be able to import a CSV", async () => { - const table = await config.createTable() + const table = await config.createTable({ + name: "table", + type: "table", + key: "name", + schema: { + a: { + type: "string", + constraints: { + type: "string", + }, + }, + b: { + type: "string", + constraints: { + type: "string", + }, + }, + c: { + type: "string", + constraints: { + type: "string", + }, + }, + d: { + type: "string", + constraints: { + type: "string", + }, + }, + }, + }) const dataImport = { csvString: "a,b,c,d\n1,2,3,4" } diff --git a/packages/server/src/api/routes/tests/row.spec.js b/packages/server/src/api/routes/tests/row.spec.js index 20ec4a20c9..ce7d76100b 100644 --- a/packages/server/src/api/routes/tests/row.spec.js +++ b/packages/server/src/api/routes/tests/row.spec.js @@ -125,6 +125,7 @@ describe("/rows", () => { numberNull: number, numberUndefined: number, numberString: number, + numberNumber: number, datetimeEmptyString: datetime, datetimeNull: datetime, datetimeUndefined: datetime, diff --git a/packages/server/src/api/routes/tests/view.spec.js b/packages/server/src/api/routes/tests/view.spec.js index 3bfbacccbe..458da6e023 100644 --- a/packages/server/src/api/routes/tests/view.spec.js +++ b/packages/server/src/api/routes/tests/view.spec.js @@ -1,5 +1,25 @@ const setup = require("./utilities") +function priceTable() { + return { + name: "table", + type: "table", + key: "name", + schema: { + Price: { + type: "number", + constraints: {}, + }, + Category: { + type: "string", + constraints: { + type: "string", + }, + }, + }, + } +} + describe("/views", () => { let request = setup.getRequest() let config = setup.getConfig() @@ -13,7 +33,7 @@ describe("/views", () => { describe("create", () => { beforeEach(async () => { - table = await config.createTable() + table = await config.createTable(priceTable()) }) it("returns a success message when the view is successfully created", async () => { @@ -83,7 +103,7 @@ describe("/views", () => { describe("fetch", () => { beforeEach(async () => { - table = await config.createTable() + table = await config.createTable(priceTable()) }) it("returns only custom views", async () => { @@ -105,7 +125,7 @@ describe("/views", () => { describe("query", () => { beforeEach(async () => { - table = await config.createTable() + table = await config.createTable(priceTable()) }) it("returns data for the created view", async () => { @@ -172,7 +192,7 @@ describe("/views", () => { describe("destroy", () => { it("should be able to delete a view", async () => { - const table = await config.createTable() + const table = await config.createTable(priceTable()) const view = await config.createView() const res = await request .delete(`/api/views/${view.name}`) @@ -186,7 +206,7 @@ describe("/views", () => { describe("exportView", () => { it("should be able to delete a view", async () => { - await config.createTable() + await config.createTable(priceTable()) await config.createRow() const view = await config.createView() let res = await request diff --git a/packages/server/src/tests/utilities/structures.js b/packages/server/src/tests/utilities/structures.js index e925c272ac..91996a7804 100644 --- a/packages/server/src/tests/utilities/structures.js +++ b/packages/server/src/tests/utilities/structures.js @@ -46,7 +46,6 @@ exports.basicRow = tableId => { return { name: "Test Contact", description: "original description", - status: "new", tableId: tableId, } } diff --git a/packages/string-templates/src/index.cjs b/packages/string-templates/src/index.cjs index 0b4515b815..a14a3efcda 100644 --- a/packages/string-templates/src/index.cjs +++ b/packages/string-templates/src/index.cjs @@ -16,6 +16,9 @@ registerAll(hbsInstance) * utility function to check if the object is valid */ function testObject(object) { + if (object == null) { + throw "Unable to process null object" + } // JSON stringify will fail if there are any cycles, stops infinite recursion try { JSON.stringify(object)