From 83a50660fe88a140cdb5bf857801697957d829a4 Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Sun, 6 Nov 2022 22:35:33 +0000 Subject: [PATCH 1/9] bunch of small UX updates around row creation, borders, new buttons --- .../AutomationPanel/AutomationPanel.svelte | 13 ++++------- .../CreateAutomationModal.svelte | 7 ++++-- .../backend/DataTable/RowFieldControl.svelte | 21 ++++++++++++----- .../DataTable/buttons/DeleteRowsButton.svelte | 2 +- .../DataTable/modals/CreateEditRow.svelte | 23 +++++++++++-------- .../_components/DatasourceCard.svelte | 1 - .../modals/CreateDatasourceModal.svelte | 1 - .../app/[application]/data/_layout.svelte | 15 ++++-------- .../_components/ScreenListPanel.svelte | 2 +- 9 files changed, 44 insertions(+), 41 deletions(-) diff --git a/packages/builder/src/components/automation/AutomationPanel/AutomationPanel.svelte b/packages/builder/src/components/automation/AutomationPanel/AutomationPanel.svelte index 2e4dc5e27b..dc442c0fae 100644 --- a/packages/builder/src/components/automation/AutomationPanel/AutomationPanel.svelte +++ b/packages/builder/src/components/automation/AutomationPanel/AutomationPanel.svelte @@ -1,7 +1,7 @@ - Date: Sun, 6 Nov 2022 22:45:49 +0000 Subject: [PATCH 2/9] tidy up --- packages/builder/cypress/support/commands.js | 2 +- .../components/backend/DataTable/modals/CreateEditRow.svelte | 3 --- .../src/pages/builder/app/[application]/data/_layout.svelte | 4 +++- .../[screenId]/screens/_components/ScreenListPanel.svelte | 2 +- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/packages/builder/cypress/support/commands.js b/packages/builder/cypress/support/commands.js index b1fa629023..ae161e65a3 100644 --- a/packages/builder/cypress/support/commands.js +++ b/packages/builder/cypress/support/commands.js @@ -781,7 +781,7 @@ Cypress.Commands.add("selectExternalDatasource", datasourceName => { cy.navigateToDataSection() // Open Datasource modal cy.get(".nav").within(() => { - cy.get(".add-button").click() + cy.get("[data-cy='new-datasource']").click() }) // Clicks specified datasource & continue cy.get(".item-list", { timeout: 1000 }).contains(datasourceName).click() diff --git a/packages/builder/src/components/backend/DataTable/modals/CreateEditRow.svelte b/packages/builder/src/components/backend/DataTable/modals/CreateEditRow.svelte index a30cf96e65..14abb1a772 100644 --- a/packages/builder/src/components/backend/DataTable/modals/CreateEditRow.svelte +++ b/packages/builder/src/components/backend/DataTable/modals/CreateEditRow.svelte @@ -32,9 +32,6 @@ const response = error.json if (response?.errors) { errors = response.errors - // errors = Object.entries(response.errors) - // .map(([key, error]) => ({ dataPath: key, message: error })) - // .flat() } else if (response?.validationErrors) { const mappedErrors = {} for (let field in response.validationErrors) { diff --git a/packages/builder/src/pages/builder/app/[application]/data/_layout.svelte b/packages/builder/src/pages/builder/app/[application]/data/_layout.svelte index f2f34de523..ae0f74c649 100644 --- a/packages/builder/src/pages/builder/app/[application]/data/_layout.svelte +++ b/packages/builder/src/pages/builder/app/[application]/data/_layout.svelte @@ -24,7 +24,9 @@ - + diff --git a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/screens/_components/ScreenListPanel.svelte b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/screens/_components/ScreenListPanel.svelte index 22e354b135..a6fd9089b1 100644 --- a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/screens/_components/ScreenListPanel.svelte +++ b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/screens/_components/ScreenListPanel.svelte @@ -30,7 +30,7 @@ - + Date: Mon, 7 Nov 2022 15:48:24 +0000 Subject: [PATCH 3/9] Move assertion to endpoint definition --- .../TestConfiguration/applications.ts | 55 +++++- .../internal-api/TestConfiguration/rows.ts | 13 +- .../internal-api/TestConfiguration/screens.ts | 4 + .../internal-api/TestConfiguration/tables.ts | 15 +- .../internal-api/applications/create.spec.ts | 165 +++--------------- .../internal-api/screens/screens.spec.ts | 12 +- .../tests/internal-api/tables/tables.spec.ts | 98 +++++++++++ 7 files changed, 205 insertions(+), 157 deletions(-) create mode 100644 qa-core/src/tests/internal-api/tables/tables.spec.ts diff --git a/qa-core/src/config/internal-api/TestConfiguration/applications.ts b/qa-core/src/config/internal-api/TestConfiguration/applications.ts index dd98936d3c..e73d361118 100644 --- a/qa-core/src/config/internal-api/TestConfiguration/applications.ts +++ b/qa-core/src/config/internal-api/TestConfiguration/applications.ts @@ -11,32 +11,50 @@ import { UnpublishAppResponse } from "../fixtures/types/unpublishAppResponse" export default class AppApi { api: InternalAPIClient - + appCreated: boolean constructor(apiClient: InternalAPIClient) { this.api = apiClient + this.appCreated = false } async fetch(): Promise<[Response, Application[]]> { const response = await this.api.get(`/applications?status=all`) const json = await response.json() + expect(response).toHaveStatusCode(200) + if (this.appCreated) { + expect(json.length).toBeGreaterThanOrEqual(1) + } else { + expect(json.length).toEqual(0) + } return [response, json] } async canRender(): Promise<[Response, boolean]> { const response = await this.api.get("/routing/client") const json = await response.json() - return [response, Object.keys(json.routes).length > 0] + const publishedAppRenders = Object.keys(json.routes).length > 0 + expect(response).toHaveStatusCode(200) + expect(publishedAppRenders).toBe(true) + return [response, publishedAppRenders] } async getAppPackage(appId: string): Promise<[Response, AppPackageResponse]> { const response = await this.api.get(`/applications/${appId}/appPackage`) const json = await response.json() + expect(response).toHaveStatusCode(200) + expect(json.application.apppId).toBe(appId) return [response, json] } - async publish(): Promise<[Response, DeployConfig]> { + async publish(appUrl: string): Promise<[Response, DeployConfig]> { const response = await this.api.post("/deploy") const json = await response.json() + expect(response).toHaveStatusCode(200) + expect(json).toEqual({ + _id: expect.any(String), + appUrl: appUrl, + status: "SUCCESS", + }) return [response, json] } @@ -45,6 +63,7 @@ export default class AppApi { const json = await response.json() expect(response).toHaveStatusCode(200) expect(json._id).toBeDefined() + this.appCreated = true return json } @@ -57,6 +76,7 @@ export default class AppApi { async sync(appId: string): Promise<[Response, responseMessage]> { const response = await this.api.post(`/applications/${appId}/sync`) const json = await response.json() + expect(response).toHaveStatusCode(200) return [response, json] } @@ -72,21 +92,36 @@ export default class AppApi { return [response, json] } - async revert(appId: string): Promise<[Response, responseMessage]> { + async revert(appId: string, negativeTest?: boolean): Promise<[Response, responseMessage]> { const response = await this.api.post(`/dev/${appId}/revert`) const json = await response.json() + if (negativeTest) { + expect(response).toHaveStatusCode(400) + expect(json).toEqual({ + message: "App has not yet been deployed", + status: 400, + }) + } else { + expect(response).toHaveStatusCode(200) + expect(json).toEqual({ + message: "Reverted changes successfully.", + }) + } return [response, json] } async delete(appId: string): Promise<[Response, any]> { const response = await this.api.del(`/applications/${appId}`) const json = await response.json() + expect(response).toHaveStatusCode(200) return [response, json] } - async update(appId: string, body: any): Promise<[Response, Application]> { + async update(appId: string, oldName: string, body: any): Promise<[Response, Application]> { const response = await this.api.put(`/applications/${appId}`, { body }) const json = await response.json() + expect(response).toHaveStatusCode(200) + expect(json.name).not.toEqual(oldName) return [response, json] } @@ -96,9 +131,17 @@ export default class AppApi { return [response, json] } - async getRoutes(): Promise<[Response, RouteConfig]> { + async getRoutes(screenExists?: boolean): Promise<[Response, RouteConfig]> { const response = await this.api.get(`/routing`) const json = await response.json() + expect(response).toHaveStatusCode(200) + if (screenExists) { + + expect(json.routes["/test"]).toBeTruthy() + } else { + expect(json.routes["/test"]).toBeUndefined() + } + return [response, json] } diff --git a/qa-core/src/config/internal-api/TestConfiguration/rows.ts b/qa-core/src/config/internal-api/TestConfiguration/rows.ts index a0e9b7c408..39ba01f467 100644 --- a/qa-core/src/config/internal-api/TestConfiguration/rows.ts +++ b/qa-core/src/config/internal-api/TestConfiguration/rows.ts @@ -4,25 +4,36 @@ import InternalAPIClient from "./InternalAPIClient" export default class RowsApi { api: InternalAPIClient - + rowAdded: boolean constructor(apiClient: InternalAPIClient) { this.api = apiClient + this.rowAdded = false } async getAll(tableId: string): Promise<[Response, Row[]]> { const response = await this.api.get(`/${tableId}/rows`) const json = await response.json() + if (this.rowAdded) { + expect(response).toHaveStatusCode(200) + expect(json.length).toEqual(1) + } return [response, json] } async add(tableId: string, body: any): Promise<[Response, Row]> { const response = await this.api.post(`/${tableId}/rows`, { body }) const json = await response.json() + expect(response).toHaveStatusCode(200) + expect(json._id).toBeDefined() + expect(json._rev).toBeDefined() + expect(json.tableId).toEqual(tableId) + this.rowAdded = true return [response, json] } async delete(tableId: string, body: any): Promise<[Response, Row[]]> { const response = await this.api.del(`/${tableId}/rows/`, { body }) const json = await response.json() + expect(response).toHaveStatusCode(200) return [response, json] } } diff --git a/qa-core/src/config/internal-api/TestConfiguration/screens.ts b/qa-core/src/config/internal-api/TestConfiguration/screens.ts index 7814ffdfbc..8ec377599e 100644 --- a/qa-core/src/config/internal-api/TestConfiguration/screens.ts +++ b/qa-core/src/config/internal-api/TestConfiguration/screens.ts @@ -12,12 +12,16 @@ export default class ScreenApi { async create(body: any): Promise<[Response, Screen]> { const response = await this.api.post(`/screens`, { body }) const json = await response.json() + expect(response).toHaveStatusCode(200) + expect(json._id).toBeDefined() + expect(json.routing.roleId).toBe(body.routing.roleId) return [response, json] } async delete(screenId: string, rev: string): Promise<[Response, Screen]> { const response = await this.api.del(`/screens/${screenId}/${rev}`) const json = await response.json() + expect(response).toHaveStatusCode(200) return [response, json] } } diff --git a/qa-core/src/config/internal-api/TestConfiguration/tables.ts b/qa-core/src/config/internal-api/TestConfiguration/tables.ts index 58dc1a5a74..ed0ab78cad 100644 --- a/qa-core/src/config/internal-api/TestConfiguration/tables.ts +++ b/qa-core/src/config/internal-api/TestConfiguration/tables.ts @@ -21,12 +21,21 @@ export default class TablesApi { async getTableById(id: string): Promise<[Response, Table]> { const response = await this.api.get(`/tables/${id}`) const json = await response.json() + expect(response).toHaveStatusCode(200) + expect(json._id).toEqual(id) return [response, json] } - async save(body: any): Promise<[Response, Table]> { + async save(body: any, columnAdded?: boolean): Promise<[Response, Table]> { const response = await this.api.post(`/tables`, { body }) const json = await response.json() + expect(response).toHaveStatusCode(200) + expect(json._id).toBeDefined() + expect(json._rev).toBeDefined() + if (columnAdded) { + expect(json.schema.TestColumn).toBeDefined() + } + return [response, json] } @@ -36,6 +45,10 @@ export default class TablesApi { ): Promise<[Response, responseMessage]> { const response = await this.api.del(`/tables/${id}/${revId}`) const json = await response.json() + expect(response).toHaveStatusCode(200) + expect(json.message).toEqual( + `Table ${id} deleted.` + ) return [response, json] } } diff --git a/qa-core/src/tests/internal-api/applications/create.spec.ts b/qa-core/src/tests/internal-api/applications/create.spec.ts index bd76a4a882..af77eb002f 100644 --- a/qa-core/src/tests/internal-api/applications/create.spec.ts +++ b/qa-core/src/tests/internal-api/applications/create.spec.ts @@ -11,7 +11,7 @@ import { } from "../../../config/internal-api/fixtures/table" import { generateNewRowForTable } from "../../../config/internal-api/fixtures/rows" -describe("Internal API - /applications endpoints", () => { +describe("Internal API - Application creation, update, publish and delete", () => { const api = new InternalAPIClient() const config = new TestConfiguration(api) @@ -34,55 +34,33 @@ describe("Internal API - /applications endpoints", () => { }) } - it("GET - fetch applications", async () => { + it("Get all Applications", async () => { + await config.applications.fetch() + await config.applications.create({ ...generateApp(), useTemplate: false, }) - const [response, apps] = await config.applications.fetch() - expect(response).toHaveStatusCode(200) - expect(apps.length).toBeGreaterThanOrEqual(1) + + await config.applications.fetch() }) - it("POST - Create an application", async () => { - config.applications.create(generateApp()) - }) - - it("POST - Publish application", async () => { - // create app - const app = await config.applications.create(generateApp()) - - // publish app - config.applications.api.appId = app.appId - const [publishResponse, publish] = await config.applications.publish() - expect(publishResponse).toHaveStatusCode(200) - expect(publish).toEqual({ - _id: expect.any(String), - appUrl: app.url, - status: "SUCCESS", - }) - }) - - it("Publish app flow", async () => { + it("Publish app", async () => { // create the app const appName = generator.word() const app = await createAppFromTemplate() config.applications.api.appId = app.appId // check preview renders - const [previewResponse, previewRenders] = - await config.applications.canRender() - expect(previewResponse).toHaveStatusCode(200) - expect(previewRenders).toBe(true) + await config.applications.canRender() // publish app - await config.applications.publish() + await config.applications.publish(app.url) // check published app renders config.applications.api.appId = db.getProdAppID(app.appId) - const [publishedAppResponse, publishedAppRenders] = - await config.applications.canRender() - expect(publishedAppRenders).toBe(true) + await config.applications.canRender() + // unpublish app await config.applications.unpublish(app.appId) @@ -95,7 +73,6 @@ describe("Internal API - /applications endpoints", () => { const [syncResponse, sync] = await config.applications.sync( app.appId ) - expect(syncResponse).toHaveStatusCode(200) expect(sync).toEqual({ message: "App sync not required, app not deployed.", }) @@ -106,12 +83,11 @@ describe("Internal API - /applications endpoints", () => { config.applications.api.appId = app.appId // publish app - await config.applications.publish() + await config.applications.publish(app.url) const [syncResponse, sync] = await config.applications.sync( app.appId ) - expect(syncResponse).toHaveStatusCode(200) expect(sync).toEqual({ message: "App sync completed successfully.", }) @@ -122,28 +98,23 @@ describe("Internal API - /applications endpoints", () => { config.applications.api.appId = app.appId - const [updateResponse, updatedApp] = await config.applications.update( + await config.applications.update( app.appId, + app.name, { name: generator.word(), } ) - expect(updateResponse).toHaveStatusCode(200) - expect(updatedApp.name).not.toEqual(app.name) }) it("POST - Revert Changes without changes", async () => { const app = await config.applications.create(generateApp()) config.applications.api.appId = app.appId - const [revertResponse, revert] = await config.applications.revert( - app.appId + await config.applications.revert( + app.appId, + true ) - expect(revertResponse).toHaveStatusCode(400) - expect(revert).toEqual({ - message: "App has not yet been deployed", - status: 400, - }) }) it("POST - Revert Changes", async () => { @@ -151,116 +122,28 @@ describe("Internal API - /applications endpoints", () => { config.applications.api.appId = app.appId // publish app - const [publishResponse, publish] = await config.applications.publish() - expect(publishResponse).toHaveStatusCode(200) - expect(publish.status).toEqual("SUCCESS") + await config.applications.publish(app.url) + // Change/add component to the app - const [screenResponse, screen] = await config.applications.addScreentoApp( + await config.screen.create( generateScreen("BASIC") ) - expect(screenResponse).toHaveStatusCode(200) - expect(screen._id).toBeDefined() // // Revert the app to published state - const [revertResponse, revert] = await config.applications.revert( + await config.applications.revert( app.appId ) - expect(revertResponse).toHaveStatusCode(200) - expect(revert).toEqual({ - message: "Reverted changes successfully.", - }) // Check screen is removed - const [routesResponse, routes] = await config.applications.getRoutes() - expect(routesResponse).toHaveStatusCode(200) - expect(routes.routes["/test"]).toBeUndefined() + await config.applications.getRoutes() + }) it("DELETE - Delete an application", async () => { const app = await config.applications.create(generateApp()) - const [deleteResponse] = await config.applications.delete(app.appId) - expect(deleteResponse).toHaveStatusCode(200) + await config.applications.delete(app.appId) }) - it("Operations on Tables", async () => { - // create the app - const appName = generator.word() - const app = await createAppFromTemplate() - config.applications.api.appId = app.appId - - // Get current tables: expect 2 in this template - await config.tables.getAll(2) - - // Add new table - const [createdTableResponse, createdTableData] = await config.tables.save( - generateTable() - ) - expect(createdTableResponse).toHaveStatusCode(200) - expect(createdTableData._id).toBeDefined() - expect(createdTableData._rev).toBeDefined() - - //Table was added - await config.tables.getAll(3) - - //Get information about the table - const [tableInfoResponse, tableInfo] = await config.tables.getTableById( - createdTableData._id - ) - expect(tableInfoResponse).toHaveStatusCode(200) - expect(tableInfo._id).toEqual(createdTableData._id) - - //Add Column to table - const newColumn = generateNewColumnForTable(createdTableData) - const [addColumnResponse, addColumnData] = await config.tables.save( - newColumn - ) - expect(addColumnResponse).toHaveStatusCode(200) - expect(addColumnData._id).toEqual(createdTableData._id) - expect(addColumnData.schema.TestColumn).toBeDefined() - - //Add Row to table - const newRow = generateNewRowForTable(addColumnData._id) - const [addRowResponse, addRowData] = await config.rows.add( - addColumnData._id, - newRow - ) - console.log(addRowData) - expect(addRowResponse).toHaveStatusCode(200) - expect(addRowData._id).toBeDefined() - expect(addRowData._rev).toBeDefined() - expect(addRowData.tableId).toEqual(addColumnData._id) - - //Get Row from table - const [getRowResponse, getRowData] = await config.rows.getAll( - addColumnData._id - ) - expect(getRowResponse).toHaveStatusCode(200) - expect(getRowData.length).toEqual(1) - - //Delete Row from table - const rowToDelete = { - rows: [getRowData[0]], - } - const [deleteRowResponse, deleteRowData] = await config.rows.delete( - addColumnData._id, - rowToDelete - ) - expect(deleteRowResponse).toHaveStatusCode(200) - expect(deleteRowData[0]._id).toEqual(getRowData[0]._id) - - //Delete the table - const [deleteTableResponse, deleteTable] = await config.tables.delete( - addColumnData._id, - addColumnData._rev - ) - expect(deleteTableResponse).toHaveStatusCode(200) - expect(deleteTable.message).toEqual( - `Table ${createdTableData._id} deleted.` - ) - - //Table was deleted - await config.tables.getAll(2) - }) }) diff --git a/qa-core/src/tests/internal-api/screens/screens.spec.ts b/qa-core/src/tests/internal-api/screens/screens.spec.ts index 34266d6622..2dc7962914 100644 --- a/qa-core/src/tests/internal-api/screens/screens.spec.ts +++ b/qa-core/src/tests/internal-api/screens/screens.spec.ts @@ -29,8 +29,6 @@ describe("Internal API - /screens endpoints", () => { const [response, screen] = await config.screen.create( generateScreen(roleArray[role]) ) - expect(response).toHaveStatusCode(200) - expect(screen.routing.roleId).toEqual(roleArray[role]) } }) @@ -40,14 +38,12 @@ describe("Internal API - /screens endpoints", () => { // Create Screen appConfig.applications.api.appId = app.appId - const [response, screen] = await config.screen.create( + await config.screen.create( generateScreen("BASIC") ) // Check screen exists - const [routesResponse, routes] = await appConfig.applications.getRoutes() - expect(routesResponse).toHaveStatusCode(200) - expect(routes.routes["/test"]).toBeTruthy() + await appConfig.applications.getRoutes(true) }) it("DELETE - Delete a screen", async () => { @@ -61,7 +57,7 @@ describe("Internal API - /screens endpoints", () => { ) // Delete Screen - const [response] = await config.screen.delete(screen._id!, screen._rev!) - expect(response).toHaveStatusCode(200) + await config.screen.delete(screen._id!, screen._rev!) + }) }) diff --git a/qa-core/src/tests/internal-api/tables/tables.spec.ts b/qa-core/src/tests/internal-api/tables/tables.spec.ts new file mode 100644 index 0000000000..d1d52a5fd1 --- /dev/null +++ b/qa-core/src/tests/internal-api/tables/tables.spec.ts @@ -0,0 +1,98 @@ +import TestConfiguration from "../../../config/internal-api/TestConfiguration" +import { Application } from "@budibase/server/api/controllers/public/mapping/types" +import { db } from "@budibase/backend-core" +import InternalAPIClient from "../../../config/internal-api/TestConfiguration/InternalAPIClient" +import generateApp from "../../../config/internal-api/fixtures/applications" +import generator from "../../../config/generator" +import generateScreen from "../../../config/internal-api/fixtures/screens" +import { + generateTable, + generateNewColumnForTable, +} from "../../../config/internal-api/fixtures/table" +import { generateNewRowForTable } from "../../../config/internal-api/fixtures/rows" + +describe("Internal API - Application creation, update, publish and delete", () => { + const api = new InternalAPIClient() + const config = new TestConfiguration(api) + + beforeAll(async () => { + await config.beforeAll() + }) + + afterAll(async () => { + await config.afterAll() + }) + + async function createAppFromTemplate() { + return config.applications.create({ + name: generator.word(), + url: `/${generator.word()}`, + useTemplate: "true", + templateName: "Near Miss Register", + templateKey: "app/near-miss-register", + templateFile: undefined, + }) + } + + it("Operations on Tables", async () => { + // create the app + const appName = generator.word() + const app = await createAppFromTemplate() + config.applications.api.appId = app.appId + + // Get current tables: expect 2 in this template + await config.tables.getAll(2) + + // Add new table + const [createdTableResponse, createdTableData] = await config.tables.save( + generateTable() + ) + + //Table was added + await config.tables.getAll(3) + + //Get information about the table + await config.tables.getTableById( + createdTableData._id + ) + + //Add Column to table + const newColumn = generateNewColumnForTable(createdTableData) + const [addColumnResponse, addColumnData] = await config.tables.save( + newColumn, + true + ) + + //Add Row to table + const newRow = generateNewRowForTable(addColumnData._id) + await config.rows.add( + addColumnData._id, + newRow + ) + + //Get Row from table + const [getRowResponse, getRowData] = await config.rows.getAll( + addColumnData._id + ) + + //Delete Row from table + const rowToDelete = { + rows: [getRowData[0]], + } + const [deleteRowResponse, deleteRowData] = await config.rows.delete( + addColumnData._id, + rowToDelete + ) + expect(deleteRowData[0]._id).toEqual(getRowData[0]._id) + + //Delete the table + const [deleteTableResponse, deleteTable] = await config.tables.delete( + addColumnData._id, + addColumnData._rev + ) + + + //Table was deleted + await config.tables.getAll(2) + }) +}) From c2fcc238840124168b3b7e101b00c27de11221eb Mon Sep 17 00:00:00 2001 From: Pedro Silva Date: Tue, 8 Nov 2022 18:06:53 +0000 Subject: [PATCH 4/9] Improve stability of tests --- .../internal-api/TestConfiguration/applications.ts | 1 - .../{create.spec.ts => applications.spec.ts} | 10 +++------- qa-core/src/tests/internal-api/tables/tables.spec.ts | 3 --- 3 files changed, 3 insertions(+), 11 deletions(-) rename qa-core/src/tests/internal-api/applications/{create.spec.ts => applications.spec.ts} (94%) diff --git a/qa-core/src/config/internal-api/TestConfiguration/applications.ts b/qa-core/src/config/internal-api/TestConfiguration/applications.ts index e73d361118..bebf79dd97 100644 --- a/qa-core/src/config/internal-api/TestConfiguration/applications.ts +++ b/qa-core/src/config/internal-api/TestConfiguration/applications.ts @@ -2,7 +2,6 @@ import { Application } from "@budibase/server/api/controllers/public/mapping/typ import { App } from "@budibase/types" import { Response } from "node-fetch" import InternalAPIClient from "./InternalAPIClient" -import FormData from "form-data" import { RouteConfig } from "../fixtures/types/routing" import { AppPackageResponse } from "../fixtures/types/appPackage" import { DeployConfig } from "../fixtures/types/deploy" diff --git a/qa-core/src/tests/internal-api/applications/create.spec.ts b/qa-core/src/tests/internal-api/applications/applications.spec.ts similarity index 94% rename from qa-core/src/tests/internal-api/applications/create.spec.ts rename to qa-core/src/tests/internal-api/applications/applications.spec.ts index af77eb002f..93c2121598 100644 --- a/qa-core/src/tests/internal-api/applications/create.spec.ts +++ b/qa-core/src/tests/internal-api/applications/applications.spec.ts @@ -5,11 +5,6 @@ import InternalAPIClient from "../../../config/internal-api/TestConfiguration/In import generateApp from "../../../config/internal-api/fixtures/applications" import generator from "../../../config/generator" import generateScreen from "../../../config/internal-api/fixtures/screens" -import { - generateTable, - generateNewColumnForTable, -} from "../../../config/internal-api/fixtures/table" -import { generateNewRowForTable } from "../../../config/internal-api/fixtures/rows" describe("Internal API - Application creation, update, publish and delete", () => { const api = new InternalAPIClient() @@ -33,10 +28,11 @@ describe("Internal API - Application creation, update, publish and delete", () = templateFile: undefined, }) } - - it("Get all Applications", async () => { + it("Get applications without applications", async () => { await config.applications.fetch() + }) + it("Get all Applications after creating an application", async () => { await config.applications.create({ ...generateApp(), useTemplate: false, diff --git a/qa-core/src/tests/internal-api/tables/tables.spec.ts b/qa-core/src/tests/internal-api/tables/tables.spec.ts index d1d52a5fd1..69ad0fed7b 100644 --- a/qa-core/src/tests/internal-api/tables/tables.spec.ts +++ b/qa-core/src/tests/internal-api/tables/tables.spec.ts @@ -1,10 +1,7 @@ import TestConfiguration from "../../../config/internal-api/TestConfiguration" import { Application } from "@budibase/server/api/controllers/public/mapping/types" -import { db } from "@budibase/backend-core" import InternalAPIClient from "../../../config/internal-api/TestConfiguration/InternalAPIClient" -import generateApp from "../../../config/internal-api/fixtures/applications" import generator from "../../../config/generator" -import generateScreen from "../../../config/internal-api/fixtures/screens" import { generateTable, generateNewColumnForTable, From d79e1543b58f265c26368ed4962d0c46c22c5b14 Mon Sep 17 00:00:00 2001 From: Pedro Silva Date: Wed, 9 Nov 2022 16:05:15 +0000 Subject: [PATCH 5/9] Add test for AppPackage --- .../TestConfiguration/applications.ts | 2 +- .../applications/applications.spec.ts | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/qa-core/src/config/internal-api/TestConfiguration/applications.ts b/qa-core/src/config/internal-api/TestConfiguration/applications.ts index bebf79dd97..c9930e9981 100644 --- a/qa-core/src/config/internal-api/TestConfiguration/applications.ts +++ b/qa-core/src/config/internal-api/TestConfiguration/applications.ts @@ -41,7 +41,7 @@ export default class AppApi { const response = await this.api.get(`/applications/${appId}/appPackage`) const json = await response.json() expect(response).toHaveStatusCode(200) - expect(json.application.apppId).toBe(appId) + expect(json.application.appId).toEqual(appId) return [response, json] } diff --git a/qa-core/src/tests/internal-api/applications/applications.spec.ts b/qa-core/src/tests/internal-api/applications/applications.spec.ts index 93c2121598..48e2727926 100644 --- a/qa-core/src/tests/internal-api/applications/applications.spec.ts +++ b/qa-core/src/tests/internal-api/applications/applications.spec.ts @@ -41,6 +41,21 @@ describe("Internal API - Application creation, update, publish and delete", () = await config.applications.fetch() }) + it("Get application details", async () => { + const app = await config.applications.create({ + ...generateApp(), + useTemplate: false, + }) + config.applications.api.appId = app.appId + + const [appPackageResponse, appPackageJson] = await config.applications.getAppPackage(app.appId) + expect(appPackageJson.application.name).toEqual(app.name) + expect(appPackageJson.application.version).toEqual(app.version) + expect(appPackageJson.application.url).toEqual(app.url) + expect(appPackageJson.application.tenantId).toEqual(app.tenantId) + expect(appPackageJson.application.status).toEqual(app.status) + }) + it("Publish app", async () => { // create the app const appName = generator.word() From 517893da26f9ce87a2aa34ed5fb3708d45ba301a Mon Sep 17 00:00:00 2001 From: Pedro Silva Date: Wed, 9 Nov 2022 17:05:05 +0000 Subject: [PATCH 6/9] Fix duplicated name failure --- qa-core/src/config/internal-api/fixtures/applications.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/qa-core/src/config/internal-api/fixtures/applications.ts b/qa-core/src/config/internal-api/fixtures/applications.ts index 9076a05e1b..abdd674577 100644 --- a/qa-core/src/config/internal-api/fixtures/applications.ts +++ b/qa-core/src/config/internal-api/fixtures/applications.ts @@ -1,11 +1,12 @@ import generator from "../../generator" import { Application } from "@budibase/server/api/controllers/public/mapping/types" + const generate = ( overrides: Partial = {} ): Partial => ({ - name: generator.word(), - url: `/${generator.word()}`, + name: generator.word() + generator.hash(), + url: `/${generator.word() + generator.hash()}`, ...overrides, }) From 6d99caf2a66e67e88dd6c20a2a983fd1ee84ef44 Mon Sep 17 00:00:00 2001 From: Pedro Silva Date: Thu, 10 Nov 2022 09:45:02 +0000 Subject: [PATCH 7/9] Remove logic from endpoint methods --- .../TestConfiguration/applications.ts | 51 +++++++++++-------- .../applications/applications.spec.ts | 11 ++-- 2 files changed, 34 insertions(+), 28 deletions(-) diff --git a/qa-core/src/config/internal-api/TestConfiguration/applications.ts b/qa-core/src/config/internal-api/TestConfiguration/applications.ts index c9930e9981..cb0558222e 100644 --- a/qa-core/src/config/internal-api/TestConfiguration/applications.ts +++ b/qa-core/src/config/internal-api/TestConfiguration/applications.ts @@ -10,21 +10,23 @@ import { UnpublishAppResponse } from "../fixtures/types/unpublishAppResponse" export default class AppApi { api: InternalAPIClient - appCreated: boolean constructor(apiClient: InternalAPIClient) { this.api = apiClient - this.appCreated = false } - async fetch(): Promise<[Response, Application[]]> { + async fetchEmptyAppList(): Promise<[Response, Application[]]> { const response = await this.api.get(`/applications?status=all`) const json = await response.json() expect(response).toHaveStatusCode(200) - if (this.appCreated) { - expect(json.length).toBeGreaterThanOrEqual(1) - } else { - expect(json.length).toEqual(0) - } + expect(json.length).toEqual(0) + return [response, json] + } + + async fetchAllApplications(): Promise<[Response, Application[]]> { + const response = await this.api.get(`/applications?status=all`) + const json = await response.json() + expect(response).toHaveStatusCode(200) + expect(json.length).toBeGreaterThanOrEqual(1) return [response, json] } @@ -62,7 +64,6 @@ export default class AppApi { const json = await response.json() expect(response).toHaveStatusCode(200) expect(json._id).toBeDefined() - this.appCreated = true return json } @@ -79,6 +80,7 @@ export default class AppApi { return [response, json] } + // TODO async updateClient( appId: string, body: any @@ -91,24 +93,29 @@ export default class AppApi { return [response, json] } - async revert(appId: string, negativeTest?: boolean): Promise<[Response, responseMessage]> { + async revertPublished(appId: string): Promise<[Response, responseMessage]> { const response = await this.api.post(`/dev/${appId}/revert`) const json = await response.json() - if (negativeTest) { - expect(response).toHaveStatusCode(400) - expect(json).toEqual({ - message: "App has not yet been deployed", - status: 400, - }) - } else { - expect(response).toHaveStatusCode(200) - expect(json).toEqual({ - message: "Reverted changes successfully.", - }) - } + expect(response).toHaveStatusCode(200) + expect(json).toEqual({ + message: "Reverted changes successfully.", + }) return [response, json] } + async revertUnpublished(appId: string): Promise<[Response, responseMessage]> { + const response = await this.api.post(`/dev/${appId}/revert`) + const json = await response.json() + expect(response).toHaveStatusCode(400) + expect(json).toEqual({ + message: "App has not yet been deployed", + status: 400, + }) + return [response, json] + } + + + async delete(appId: string): Promise<[Response, any]> { const response = await this.api.del(`/applications/${appId}`) const json = await response.json() diff --git a/qa-core/src/tests/internal-api/applications/applications.spec.ts b/qa-core/src/tests/internal-api/applications/applications.spec.ts index 48e2727926..4b9b66ec65 100644 --- a/qa-core/src/tests/internal-api/applications/applications.spec.ts +++ b/qa-core/src/tests/internal-api/applications/applications.spec.ts @@ -29,7 +29,7 @@ describe("Internal API - Application creation, update, publish and delete", () = }) } it("Get applications without applications", async () => { - await config.applications.fetch() + await config.applications.fetchEmptyAppList() }) it("Get all Applications after creating an application", async () => { @@ -38,7 +38,7 @@ describe("Internal API - Application creation, update, publish and delete", () = useTemplate: false, }) - await config.applications.fetch() + await config.applications.fetchAllApplications() }) it("Get application details", async () => { @@ -122,9 +122,8 @@ describe("Internal API - Application creation, update, publish and delete", () = const app = await config.applications.create(generateApp()) config.applications.api.appId = app.appId - await config.applications.revert( - app.appId, - true + await config.applications.revertUnpublished( + app.appId ) }) @@ -142,7 +141,7 @@ describe("Internal API - Application creation, update, publish and delete", () = ) // // Revert the app to published state - await config.applications.revert( + await config.applications.revertPublished( app.appId ) From ead55d1aed7fb60ed0c17718d3b7a6374381665d Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Mon, 14 Nov 2022 13:49:57 +0000 Subject: [PATCH 8/9] v2.1.22-alpha.2 --- lerna.json | 2 +- packages/backend-core/package.json | 4 ++-- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 8 ++++---- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/sdk/package.json | 2 +- packages/server/package.json | 10 +++++----- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 8 ++++---- 12 files changed, 32 insertions(+), 32 deletions(-) diff --git a/lerna.json b/lerna.json index 607ec1a640..e383db2fcd 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "2.1.22-alpha.1", + "version": "2.1.22-alpha.2", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 020c2ef266..a9aa3d168c 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "2.1.22-alpha.1", + "version": "2.1.22-alpha.2", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "2.1.22-alpha.1", + "@budibase/types": "2.1.22-alpha.2", "@shopify/jest-koa-mocks": "5.0.1", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 3ca05a1a5c..674608eb32 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/bbui", "description": "A UI solution used in the different Budibase projects.", - "version": "2.1.22-alpha.1", + "version": "2.1.22-alpha.2", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", @@ -38,7 +38,7 @@ ], "dependencies": { "@adobe/spectrum-css-workflow-icons": "^1.2.1", - "@budibase/string-templates": "2.1.22-alpha.1", + "@budibase/string-templates": "2.1.22-alpha.2", "@spectrum-css/actionbutton": "^1.0.1", "@spectrum-css/actiongroup": "^1.0.1", "@spectrum-css/avatar": "^3.0.2", diff --git a/packages/builder/package.json b/packages/builder/package.json index 7dd8d9002a..121379b1e8 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "2.1.22-alpha.1", + "version": "2.1.22-alpha.2", "license": "GPL-3.0", "private": true, "scripts": { @@ -71,10 +71,10 @@ } }, "dependencies": { - "@budibase/bbui": "2.1.22-alpha.1", - "@budibase/client": "2.1.22-alpha.1", - "@budibase/frontend-core": "2.1.22-alpha.1", - "@budibase/string-templates": "2.1.22-alpha.1", + "@budibase/bbui": "2.1.22-alpha.2", + "@budibase/client": "2.1.22-alpha.2", + "@budibase/frontend-core": "2.1.22-alpha.2", + "@budibase/string-templates": "2.1.22-alpha.2", "@sentry/browser": "5.19.1", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/cli/package.json b/packages/cli/package.json index a0a6a0aa6a..bcfd95d7e1 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "2.1.22-alpha.1", + "version": "2.1.22-alpha.2", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { @@ -26,9 +26,9 @@ "outputPath": "build" }, "dependencies": { - "@budibase/backend-core": "2.1.22-alpha.1", - "@budibase/string-templates": "2.1.22-alpha.1", - "@budibase/types": "2.1.22-alpha.1", + "@budibase/backend-core": "2.1.22-alpha.2", + "@budibase/string-templates": "2.1.22-alpha.2", + "@budibase/types": "2.1.22-alpha.2", "axios": "0.21.2", "chalk": "4.1.0", "cli-progress": "3.11.2", diff --git a/packages/client/package.json b/packages/client/package.json index 658953067b..ba2369d134 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "2.1.22-alpha.1", + "version": "2.1.22-alpha.2", "license": "MPL-2.0", "module": "dist/budibase-client.js", "main": "dist/budibase-client.js", @@ -19,9 +19,9 @@ "dev:builder": "rollup -cw" }, "dependencies": { - "@budibase/bbui": "2.1.22-alpha.1", - "@budibase/frontend-core": "2.1.22-alpha.1", - "@budibase/string-templates": "2.1.22-alpha.1", + "@budibase/bbui": "2.1.22-alpha.2", + "@budibase/frontend-core": "2.1.22-alpha.2", + "@budibase/string-templates": "2.1.22-alpha.2", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index 9f7b13c6c4..3f80036137 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "2.1.22-alpha.1", + "version": "2.1.22-alpha.2", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "2.1.22-alpha.1", + "@budibase/bbui": "2.1.22-alpha.2", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 1718f8734d..bf249b6115 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/sdk", - "version": "2.1.22-alpha.1", + "version": "2.1.22-alpha.2", "description": "Budibase Public API SDK", "author": "Budibase", "license": "MPL-2.0", diff --git a/packages/server/package.json b/packages/server/package.json index 9e6132d2a0..67ed06cdf5 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "2.1.22-alpha.1", + "version": "2.1.22-alpha.2", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -77,11 +77,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "2.1.22-alpha.1", - "@budibase/client": "2.1.22-alpha.1", + "@budibase/backend-core": "2.1.22-alpha.2", + "@budibase/client": "2.1.22-alpha.2", "@budibase/pro": "2.1.22-alpha.1", - "@budibase/string-templates": "2.1.22-alpha.1", - "@budibase/types": "2.1.22-alpha.1", + "@budibase/string-templates": "2.1.22-alpha.2", + "@budibase/types": "2.1.22-alpha.2", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 40472938ed..5a48f0be18 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "2.1.22-alpha.1", + "version": "2.1.22-alpha.2", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/types/package.json b/packages/types/package.json index 2e2cad29a2..c574905534 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "2.1.22-alpha.1", + "version": "2.1.22-alpha.2", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/worker/package.json b/packages/worker/package.json index 68e6027983..012568733d 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "2.1.22-alpha.1", + "version": "2.1.22-alpha.2", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -36,10 +36,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "2.1.22-alpha.1", + "@budibase/backend-core": "2.1.22-alpha.2", "@budibase/pro": "2.1.22-alpha.1", - "@budibase/string-templates": "2.1.22-alpha.1", - "@budibase/types": "2.1.22-alpha.1", + "@budibase/string-templates": "2.1.22-alpha.2", + "@budibase/types": "2.1.22-alpha.2", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From 30e5550325b4ef3664ff83b161409315bd4fe349 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Mon, 14 Nov 2022 13:53:33 +0000 Subject: [PATCH 9/9] Update pro version to 2.1.22-alpha.2 --- packages/server/package.json | 2 +- packages/server/yarn.lock | 30 +++++++++++++++--------------- packages/worker/package.json | 2 +- packages/worker/yarn.lock | 30 +++++++++++++++--------------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index 67ed06cdf5..af356d9771 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -79,7 +79,7 @@ "@apidevtools/swagger-parser": "10.0.3", "@budibase/backend-core": "2.1.22-alpha.2", "@budibase/client": "2.1.22-alpha.2", - "@budibase/pro": "2.1.22-alpha.1", + "@budibase/pro": "2.1.22-alpha.2", "@budibase/string-templates": "2.1.22-alpha.2", "@budibase/types": "2.1.22-alpha.2", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index 45764466f5..063239e410 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1094,12 +1094,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@2.1.22-alpha.1": - version "2.1.22-alpha.1" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-2.1.22-alpha.1.tgz#76637eabbe765b710eded41b82a721c829489298" - integrity sha512-nqRa+3SLdweXmyGVWxpBxLeMoWetSM4odHpCIsahcQhmfVzo5Skbn5OBCgsdpbsQ5oanr7ZdsQzE7Kvpb9ylOA== +"@budibase/backend-core@2.1.22-alpha.2": + version "2.1.22-alpha.2" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-2.1.22-alpha.2.tgz#ab24716f769eb67815d12feeea58ba67394dc724" + integrity sha512-dzFj3siXLOKUX9wyPRFT2Or7BHGoSla919n5SAjI/OmyS2X9R5Xlc2pkYzMB4HpOAs1nY1Fexl1IvDr12cIV8w== dependencies: - "@budibase/types" "2.1.22-alpha.1" + "@budibase/types" "2.1.22-alpha.2" "@shopify/jest-koa-mocks" "5.0.1" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" @@ -1181,13 +1181,13 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/pro@2.1.22-alpha.1": - version "2.1.22-alpha.1" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-2.1.22-alpha.1.tgz#78413a59e0709e17252008b264de09421a81b1d7" - integrity sha512-9607AHjqwH+456vATATJBky7RzWElOWaJFDwOBv2vG1WlnqRZacLEU/cqHKAsboh4hOhrJE5HhNOQzretalvSg== +"@budibase/pro@2.1.22-alpha.2": + version "2.1.22-alpha.2" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-2.1.22-alpha.2.tgz#a0e98d209deb0889f36a408ad2bd2d050d43ed74" + integrity sha512-2IHdKumc4+yINUK5CVGGuzm0eLMSrViwUCPztRHJedIRuRXJh37Nj5jEmOBq7xzjHPVm1VgUjvsuEd78Z5xYpQ== dependencies: - "@budibase/backend-core" "2.1.22-alpha.1" - "@budibase/types" "2.1.22-alpha.1" + "@budibase/backend-core" "2.1.22-alpha.2" + "@budibase/types" "2.1.22-alpha.2" "@koa/router" "8.0.8" bull "4.10.1" joi "17.6.0" @@ -1211,10 +1211,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@2.1.22-alpha.1": - version "2.1.22-alpha.1" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-2.1.22-alpha.1.tgz#b3f8203a216904b9d5cae2032ab54425862fe18a" - integrity sha512-wuiIZ+4Yg6WcBShSKIbWvkqG+TQcu9kWXxcOL2/76dAq9W3QsuVml8xIjtC22F7SqSUCsWbwSvGioOkFJznDrg== +"@budibase/types@2.1.22-alpha.2": + version "2.1.22-alpha.2" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-2.1.22-alpha.2.tgz#f7c069273049a8f9f52c3a93a9387654c5a74699" + integrity sha512-qQGzthMfsMtBcTLzLwjSR2jAd7pUj4A54yliVXYuxFRscJOegeTcagoWOZPE6cPdWPdRey+UWUtPBMrQ/X5xAA== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index 012568733d..9f4a34a3b1 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -37,7 +37,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "2.1.22-alpha.2", - "@budibase/pro": "2.1.22-alpha.1", + "@budibase/pro": "2.1.22-alpha.2", "@budibase/string-templates": "2.1.22-alpha.2", "@budibase/types": "2.1.22-alpha.2", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index 5430b515d2..77e078a797 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -291,12 +291,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@2.1.22-alpha.1": - version "2.1.22-alpha.1" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-2.1.22-alpha.1.tgz#76637eabbe765b710eded41b82a721c829489298" - integrity sha512-nqRa+3SLdweXmyGVWxpBxLeMoWetSM4odHpCIsahcQhmfVzo5Skbn5OBCgsdpbsQ5oanr7ZdsQzE7Kvpb9ylOA== +"@budibase/backend-core@2.1.22-alpha.2": + version "2.1.22-alpha.2" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-2.1.22-alpha.2.tgz#ab24716f769eb67815d12feeea58ba67394dc724" + integrity sha512-dzFj3siXLOKUX9wyPRFT2Or7BHGoSla919n5SAjI/OmyS2X9R5Xlc2pkYzMB4HpOAs1nY1Fexl1IvDr12cIV8w== dependencies: - "@budibase/types" "2.1.22-alpha.1" + "@budibase/types" "2.1.22-alpha.2" "@shopify/jest-koa-mocks" "5.0.1" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" @@ -328,22 +328,22 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/pro@2.1.22-alpha.1": - version "2.1.22-alpha.1" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-2.1.22-alpha.1.tgz#78413a59e0709e17252008b264de09421a81b1d7" - integrity sha512-9607AHjqwH+456vATATJBky7RzWElOWaJFDwOBv2vG1WlnqRZacLEU/cqHKAsboh4hOhrJE5HhNOQzretalvSg== +"@budibase/pro@2.1.22-alpha.2": + version "2.1.22-alpha.2" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-2.1.22-alpha.2.tgz#a0e98d209deb0889f36a408ad2bd2d050d43ed74" + integrity sha512-2IHdKumc4+yINUK5CVGGuzm0eLMSrViwUCPztRHJedIRuRXJh37Nj5jEmOBq7xzjHPVm1VgUjvsuEd78Z5xYpQ== dependencies: - "@budibase/backend-core" "2.1.22-alpha.1" - "@budibase/types" "2.1.22-alpha.1" + "@budibase/backend-core" "2.1.22-alpha.2" + "@budibase/types" "2.1.22-alpha.2" "@koa/router" "8.0.8" bull "4.10.1" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@2.1.22-alpha.1": - version "2.1.22-alpha.1" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-2.1.22-alpha.1.tgz#b3f8203a216904b9d5cae2032ab54425862fe18a" - integrity sha512-wuiIZ+4Yg6WcBShSKIbWvkqG+TQcu9kWXxcOL2/76dAq9W3QsuVml8xIjtC22F7SqSUCsWbwSvGioOkFJznDrg== +"@budibase/types@2.1.22-alpha.2": + version "2.1.22-alpha.2" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-2.1.22-alpha.2.tgz#f7c069273049a8f9f52c3a93a9387654c5a74699" + integrity sha512-qQGzthMfsMtBcTLzLwjSR2jAd7pUj4A54yliVXYuxFRscJOegeTcagoWOZPE6cPdWPdRey+UWUtPBMrQ/X5xAA== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0"