diff --git a/packages/server/src/api/routes/tests/viewV2.spec.ts b/packages/server/src/api/routes/tests/viewV2.spec.ts index 52e28c879f..5f9997c189 100644 --- a/packages/server/src/api/routes/tests/viewV2.spec.ts +++ b/packages/server/src/api/routes/tests/viewV2.spec.ts @@ -219,6 +219,47 @@ describe.each([ expect(res).toEqual(expected) }) + it.only("can create a view with just a query field, no queryUI, for backwards compatibility", async () => { + const newView: Required> = { + name: generator.name(), + tableId: table._id!, + primaryDisplay: "id", + query: [ + { + operator: BasicOperator.EQUAL, + field: "field", + value: "value", + }, + ], + sort: { + field: "fieldToSort", + order: SortOrder.DESCENDING, + type: SortType.STRING, + }, + schema: { + id: { visible: true }, + Price: { + visible: true, + }, + }, + } + const res = await config.api.viewV2.create(newView) + + const expected: ViewV2 = { + ...newView, + schema: { + id: { visible: true }, + Price: { + visible: true, + }, + }, + id: expect.any(String), + version: 2, + } + + expect(res).toEqual(expected) + }) + it("persist only UI schema overrides", async () => { const newView: CreateViewRequest = { name: generator.name(), diff --git a/packages/server/src/sdk/app/views/internal.ts b/packages/server/src/sdk/app/views/internal.ts index 33b68759d7..fc6b59fefe 100644 --- a/packages/server/src/sdk/app/views/internal.ts +++ b/packages/server/src/sdk/app/views/internal.ts @@ -41,6 +41,7 @@ export async function create( } ensureQuerySet(view) + ensureQueryUISet(view) const db = context.getAppDB()