From 9e4c575d7987702c2ff593ff3f92caf682c558c1 Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Mon, 27 May 2024 14:44:00 +0200 Subject: [PATCH] Add license tests --- .../src/api/routes/tests/viewV2.spec.ts | 70 ++++++++++++++++++- 1 file changed, 67 insertions(+), 3 deletions(-) diff --git a/packages/server/src/api/routes/tests/viewV2.spec.ts b/packages/server/src/api/routes/tests/viewV2.spec.ts index 980e34c0bc..fa6b0ca304 100644 --- a/packages/server/src/api/routes/tests/viewV2.spec.ts +++ b/packages/server/src/api/routes/tests/viewV2.spec.ts @@ -277,6 +277,7 @@ describe.each([ beforeEach(() => { mocks.licenses.useViewReadonlyColumns() }) + it("readonly fields are persisted", async () => { const table = await config.api.table.save( saveTableRequest({ @@ -395,6 +396,43 @@ describe.each([ }, }) }) + + it("readonly fields cannot be used on free license", async () => { + mocks.licenses.useCloudFree() + const table = await config.api.table.save( + saveTableRequest({ + schema: { + name: { + name: "name", + type: FieldType.STRING, + }, + description: { + name: "description", + type: FieldType.STRING, + }, + }, + }) + ) + + const newView: CreateViewRequest = { + name: generator.name(), + tableId: table._id!, + schema: { + name: { + visible: true, + readonly: true, + }, + }, + } + + await config.api.viewV2.create(newView, { + status: 400, + body: { + message: "Readonly fields are not enabled for your tenant", + status: 400, + }, + }) + }) }) }) @@ -638,6 +676,28 @@ describe.each([ } ) }) + + it("cannot update views with readonly on on free license", async () => { + mocks.licenses.useViewReadonlyColumns() + + view = await config.api.viewV2.update({ + ...view, + schema: { + Price: { + visible: true, + readonly: true, + }, + }, + }) + + mocks.licenses.useCloudFree() + await config.api.viewV2.create(view, { + status: 400, + body: { + message: "Readonly fields are not enabled for your tenant", + }, + }) + }) }) describe("delete", () => { @@ -686,8 +746,10 @@ describe.each([ }) describe("read", () => { - it("views have extra data trimmed", async () => { - const table = await config.api.table.save( + let view: ViewV2 + + beforeAll(async () => { + table = await config.api.table.save( saveTableRequest({ schema: { Country: { @@ -702,7 +764,7 @@ describe.each([ }) ) - const view = await config.api.viewV2.create({ + view = await config.api.viewV2.create({ tableId: table._id!, name: generator.guid(), schema: { @@ -711,7 +773,9 @@ describe.each([ }, }, }) + }) + it("views have extra data trimmed", async () => { let row = await config.api.row.save(view.id, { Country: "Aussy", Story: "aaaaa",