From 77c2ce590c69f6cb56564cae93f4571d6cc86ac1 Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Wed, 26 Jul 2023 12:29:19 +0200 Subject: [PATCH] Use test api for patch --- .../server/src/api/routes/tests/row.spec.ts | 29 ++++++++----------- .../server/src/tests/utilities/api/index.ts | 3 ++ .../server/src/tests/utilities/api/row.ts | 22 ++++++++++++++ 3 files changed, 37 insertions(+), 17 deletions(-) create mode 100644 packages/server/src/tests/utilities/api/row.ts diff --git a/packages/server/src/api/routes/tests/row.spec.ts b/packages/server/src/api/routes/tests/row.spec.ts index cde661b892..eb86fd9d3f 100644 --- a/packages/server/src/api/routes/tests/row.spec.ts +++ b/packages/server/src/api/routes/tests/row.spec.ts @@ -399,17 +399,12 @@ describe("/rows", () => { const rowUsage = await getRowUsage() const queryUsage = await getQueryUsage() - const res = await request - .patch(`/api/${table._id}/rows`) - .send({ - _id: existing._id, - _rev: existing._rev, - tableId: table._id, - name: "Updated Name", - }) - .set(config.defaultHeaders()) - .expect("Content-Type", /json/) - .expect(200) + const res = await config.api.row.patch(table._id!, { + _id: existing._id, + _rev: existing._rev, + tableId: table._id, + name: "Updated Name", + }) expect((res as any).res.statusMessage).toEqual( `${table.name} updated successfully.` @@ -430,16 +425,16 @@ describe("/rows", () => { const rowUsage = await getRowUsage() const queryUsage = await getQueryUsage() - await request - .patch(`/api/${table._id}/rows`) - .send({ + await config.api.row.patch( + table._id!, + { _id: existing._id, _rev: existing._rev, tableId: table._id, name: 1, - }) - .set(config.defaultHeaders()) - .expect(400) + }, + { expectStatus: 400 } + ) await assertRowUsage(rowUsage) await assertQueryUsage(queryUsage) diff --git a/packages/server/src/tests/utilities/api/index.ts b/packages/server/src/tests/utilities/api/index.ts index cd9f42b82c..a6002a72d8 100644 --- a/packages/server/src/tests/utilities/api/index.ts +++ b/packages/server/src/tests/utilities/api/index.ts @@ -1,13 +1,16 @@ import TestConfiguration from "../TestConfiguration" +import { RowAPI } from "./row" import { TableAPI } from "./table" import { ViewV2API } from "./viewV2" export default class API { table: TableAPI viewV2: ViewV2API + row: RowAPI constructor(config: TestConfiguration) { this.table = new TableAPI(config) this.viewV2 = new ViewV2API(config) + this.row = new RowAPI(config) } } diff --git a/packages/server/src/tests/utilities/api/row.ts b/packages/server/src/tests/utilities/api/row.ts new file mode 100644 index 0000000000..9c7e33278d --- /dev/null +++ b/packages/server/src/tests/utilities/api/row.ts @@ -0,0 +1,22 @@ +import { PatchRowRequest } from "@budibase/types" +import TestConfiguration from "../TestConfiguration" +import { TestAPI } from "./base" + +export class RowAPI extends TestAPI { + constructor(config: TestConfiguration) { + super(config) + } + + patch = async ( + tableId: string, + row: PatchRowRequest, + { expectStatus } = { expectStatus: 200 } + ) => { + return this.request + .patch(`/api/${tableId}/rows`) + .send(row) + .set(this.config.defaultHeaders()) + .expect("Content-Type", /json/) + .expect(expectStatus) + } +}