From bd64b45a3caee0b9d8917dcd5f8f7c43697a3e78 Mon Sep 17 00:00:00 2001 From: Mitch-Budibase Date: Thu, 28 Apr 2022 17:50:06 +0100 Subject: [PATCH 1/8] Templates Details Tests Added tests which check the details button for each template. - Split per category (Will add more specific template tests under each category) - Checks template name matches url (There are a few exceptions) - Checks status of url - expects 200 back each time Also updated the DeleteApp Function - Fixed a smoke test issue associated with deleting the tests app --- .../templates/HR/hrTemplateDetails.spec.js | 62 +++++++++++++++ .../templates/IT/ITTemplateDetails.spec.js | 66 ++++++++++++++++ .../adminPanelsTemplateDetails.spec.js | 48 ++++++++++++ .../approvalAppsTemplateDetails.spec.js | 57 ++++++++++++++ .../businessAppsTemplateDetails.spec.js | 57 ++++++++++++++ .../directoriesTemplateDetails.spec.js | 50 ++++++++++++ .../forms/formsTemplateDetails.spec.js | 48 ++++++++++++ .../healthcareTemplateDetails.spec.js | 49 ++++++++++++ .../legal/legalTemplateDetails.spec.js | 48 ++++++++++++ .../logisticsTemplateDetails.spec.js | 48 ++++++++++++ .../manufacturingTemplateDetails.spec.js | 48 ++++++++++++ .../marketingTemplateDetails.spec.js | 57 ++++++++++++++ .../operationsTemplateDetails.spec.js | 48 ++++++++++++ .../portals/portalsTemplateDetails.spec.js | 77 +++++++++++++++++++ ...rofessionalServicesTemplateDetails.spec.js | 48 ++++++++++++ packages/builder/cypress/support/commands.js | 36 ++++----- 16 files changed, 827 insertions(+), 20 deletions(-) create mode 100644 packages/builder/cypress/integration/templates/HR/hrTemplateDetails.spec.js create mode 100644 packages/builder/cypress/integration/templates/IT/ITTemplateDetails.spec.js create mode 100644 packages/builder/cypress/integration/templates/adminPanels/adminPanelsTemplateDetails.spec.js create mode 100644 packages/builder/cypress/integration/templates/approvalApps/approvalAppsTemplateDetails.spec.js create mode 100644 packages/builder/cypress/integration/templates/businessApps/businessAppsTemplateDetails.spec.js create mode 100644 packages/builder/cypress/integration/templates/directories/directoriesTemplateDetails.spec.js create mode 100644 packages/builder/cypress/integration/templates/forms/formsTemplateDetails.spec.js create mode 100644 packages/builder/cypress/integration/templates/healthcare/healthcareTemplateDetails.spec.js create mode 100644 packages/builder/cypress/integration/templates/legal/legalTemplateDetails.spec.js create mode 100644 packages/builder/cypress/integration/templates/logistics/logisticsTemplateDetails.spec.js create mode 100644 packages/builder/cypress/integration/templates/manufacturing/manufacturingTemplateDetails.spec.js create mode 100644 packages/builder/cypress/integration/templates/marketing/marketingTemplateDetails.spec.js create mode 100644 packages/builder/cypress/integration/templates/operations/operationsTemplateDetails.spec.js create mode 100644 packages/builder/cypress/integration/templates/portals/portalsTemplateDetails.spec.js create mode 100644 packages/builder/cypress/integration/templates/professionalServices/professionalServicesTemplateDetails.spec.js diff --git a/packages/builder/cypress/integration/templates/HR/hrTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/HR/hrTemplateDetails.spec.js new file mode 100644 index 0000000000..9a00645ced --- /dev/null +++ b/packages/builder/cypress/integration/templates/HR/hrTemplateDetails.spec.js @@ -0,0 +1,62 @@ +import filterTests from "../../../support/filterTests" + +filterTests(["all"], () => { + context("Verify HR Template Details", () => { + + before(() => { + cy.login() + + // Template navigation + cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`) + .its("body") + .then(val => { + if (val.length > 0) { + cy.get(".spectrum-Button").contains("Templates").click({force: true}) + } + }) + + // Filter HR Templates + cy.get(".template-category-filters").within(() => { + cy.get('[data-cy="HR"]').click() + }) + }) + + it("should verify the details option for HR templates", () => { + cy.get(".template-grid").find(".template-card").its('length') + .then(len => { + for (let i = 0; i < len; i++) { + cy.get(".template-card").eq(i).within(() => { + const templateName = cy.get(".template-thumbnail-text") + templateName.invoke('text') + .then(templateNameText => { + const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-') + + if (templateNameText == "Job Application Tracker") { + // Template name should include 'applicant-tracking-system' + cy.get('a') + .should('have.attr', 'href').and('contain', 'applicant-tracking-system') + } + else if (templateNameText == "Job Portal App") { + // Template name should include 'job-portal' + const templateNameSplit = templateNameParsed.split('-app')[0] + cy.get('a') + .should('have.attr', 'href').and('contain', templateNameSplit) + } + else { + cy.get('a') + .should('have.attr', 'href').and('contain', templateNameParsed) + } + }) + // Verify correct status from Details link - 200 + cy.get('a') + .then(link => { + cy.request(link.prop('href')) + .its('status') + .should('eq', 200) + }) + }) + } + }) + }) +}) +}) diff --git a/packages/builder/cypress/integration/templates/IT/ITTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/IT/ITTemplateDetails.spec.js new file mode 100644 index 0000000000..baebeef60a --- /dev/null +++ b/packages/builder/cypress/integration/templates/IT/ITTemplateDetails.spec.js @@ -0,0 +1,66 @@ +import filterTests from "../../../support/filterTests" + +filterTests(["all"], () => { + context("Verify IT Template Details", () => { + + before(() => { + cy.login() + + // Template navigation + cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`) + .its("body") + .then(val => { + if (val.length > 0) { + cy.get(".spectrum-Button").contains("Templates").click({force: true}) + } + }) + + // Filter IT Templates + cy.get(".template-category-filters").within(() => { + cy.get('[data-cy="IT"]').click() + }) + }) + + it("should verify the details option for IT templates", () => { + cy.get(".template-grid").find(".template-card").its('length') + .then(len => { + // Verify template name is within details link + for (let i = 0; i < len; i++) { + cy.get(".template-card").eq(i).within(() => { + const templateName = cy.get(".template-thumbnail-text") + templateName.invoke('text') + .then(templateNameText => { + const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-') + + if (templateNameText == "Hashicorp Scorecard Template") { + const templateNameSplit = templateNameParsed.split('-template')[0] + cy.get('a') + .should('have.attr', 'href').and('contain', templateNameSplit) + } + else if (templateNameText == "IT Ticketing System") { + const templateNameSplit = templateNameParsed.split('it-')[1] + cy.get('a') + .should('have.attr', 'href').and('contain', templateNameSplit) + } + else if (templateNameText == "IT Incident Report Form") { + const templateNameSplit = templateNameParsed.split('-form')[0] + cy.get('a') + .should('have.attr', 'href').and('contain', templateNameSplit) + } + else { + cy.get('a').should('have.attr', 'href').and('contain', templateNameParsed) + } + }) + // Verify correct status from Details link - 200 + cy.get('a') + .then(link => { + cy.request(link.prop('href')) + .its('status') + .should('eq', 200) + }) + }) + } + }) + }) +}) +}) diff --git a/packages/builder/cypress/integration/templates/adminPanels/adminPanelsTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/adminPanels/adminPanelsTemplateDetails.spec.js new file mode 100644 index 0000000000..8c76a01126 --- /dev/null +++ b/packages/builder/cypress/integration/templates/adminPanels/adminPanelsTemplateDetails.spec.js @@ -0,0 +1,48 @@ +import filterTests from "../../../support/filterTests" + +filterTests(["all"], () => { + context("Verify Admin Panel Template Details", () => { + + before(() => { + cy.login() + + // Template navigation + cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`) + .its("body") + .then(val => { + if (val.length > 0) { + cy.get(".spectrum-Button").contains("Templates").click({force: true}) + } + }) + + // Filter Admin Panels Templates + cy.get(".template-category-filters").within(() => { + cy.get('[data-cy="Admin Panels"]').click() + }) + }) + + it("should verify the details option for Admin Panels templates", () => { + cy.get(".template-grid").find(".template-card").its('length') + .then(len => { + // Verify template name is within details link + for (let i = 0; i < len; i++) { + cy.get(".template-card").eq(i).within(() => { + const templateName = cy.get(".template-thumbnail-text") + templateName.invoke('text') + .then(templateNameText => { + const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-') + cy.get('a').should('have.attr', 'href').and('contain', templateNameParsed) + }) + // Verify correct status from Details link - 200 + cy.get('a') + .then(link => { + cy.request(link.prop('href')) + .its('status') + .should('eq', 200) + }) + }) + } + }) + }) +}) +}) diff --git a/packages/builder/cypress/integration/templates/approvalApps/approvalAppsTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/approvalApps/approvalAppsTemplateDetails.spec.js new file mode 100644 index 0000000000..8fa0d61390 --- /dev/null +++ b/packages/builder/cypress/integration/templates/approvalApps/approvalAppsTemplateDetails.spec.js @@ -0,0 +1,57 @@ +import filterTests from "../../../support/filterTests" + +filterTests(["all"], () => { + context("Verify Aproval Apps Template Details", () => { + + before(() => { + cy.login() + + // Template navigation + cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`) + .its("body") + .then(val => { + if (val.length > 0) { + cy.get(".spectrum-Button").contains("Templates").click({force: true}) + } + }) + + // Filter Approval Apps Templates + cy.get(".template-category-filters").within(() => { + cy.get('[data-cy="Approval Apps"]').click() + }) + }) + + it("should verify the details option for Approval Apps templates", () => { + cy.get(".template-grid").find(".template-card").its('length') + .then(len => { + // Verify template name is within details link + for (let i = 0; i < len; i++) { + cy.get(".template-card").eq(i).within(() => { + const templateName = cy.get(".template-thumbnail-text") + templateName.invoke('text') + .then(templateNameText => { + const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-') + + if (templateNameText == "Content Approval System") { + // Template name should include 'content-approval' + const templateNameSplit = templateNameParsed.split('-system')[0] + cy.get('a') + .should('have.attr', 'href').and('contain', templateNameSplit) + } + else { + cy.get('a').should('have.attr', 'href').and('contain', templateNameParsed) + } + }) + // Verify correct status from Details link - 200 + cy.get('a') + .then(link => { + cy.request(link.prop('href')) + .its('status') + .should('eq', 200) + }) + }) + } + }) + }) +}) +}) diff --git a/packages/builder/cypress/integration/templates/businessApps/businessAppsTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/businessApps/businessAppsTemplateDetails.spec.js new file mode 100644 index 0000000000..643c854168 --- /dev/null +++ b/packages/builder/cypress/integration/templates/businessApps/businessAppsTemplateDetails.spec.js @@ -0,0 +1,57 @@ +import filterTests from "../../../support/filterTests" + +filterTests(["all"], () => { + context("Verify Business Apps Template Details", () => { + + before(() => { + cy.login() + + // Template navigation + cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`) + .its("body") + .then(val => { + if (val.length > 0) { + cy.get(".spectrum-Button").contains("Templates").click({force: true}) + } + }) + + // Filter Business Apps Templates + cy.get(".template-category-filters").within(() => { + cy.get('[data-cy="Business Apps"]').click() + }) + }) + + it("should verify the details option for Business Apps templates", () => { + cy.get(".template-grid").find(".template-card").its('length') + .then(len => { + // Verify template name is within details link + for (let i = 0; i < len; i++) { + cy.get(".template-card").eq(i).within(() => { + const templateName = cy.get(".template-thumbnail-text") + templateName.invoke('text') + .then(templateNameText => { + const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-') + + if (templateNameText == "Employee Check-in/Check-Out Template") { + // Remove / from template name + const templateNameReplace = templateNameParsed.replace(/\//g, "-") + cy.get('a') + .should('have.attr', 'href').and('contain', templateNameReplace) + } + else { + cy.get('a').should('have.attr', 'href').and('contain', templateNameParsed) + } + }) + // Verify correct status from Details link - 200 + cy.get('a') + .then(link => { + cy.request(link.prop('href')) + .its('status') + .should('eq', 200) + }) + }) + } + }) + }) +}) +}) diff --git a/packages/builder/cypress/integration/templates/directories/directoriesTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/directories/directoriesTemplateDetails.spec.js new file mode 100644 index 0000000000..d763dab9e7 --- /dev/null +++ b/packages/builder/cypress/integration/templates/directories/directoriesTemplateDetails.spec.js @@ -0,0 +1,50 @@ +import filterTests from "../../../support/filterTests" + +filterTests(["all"], () => { + context("Verify Directories Template Details", () => { + + before(() => { + cy.login() + + // Template navigation + cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`) + .its("body") + .then(val => { + if (val.length > 0) { + cy.get(".spectrum-Button").contains("Templates").click({force: true}) + } + }) + + // Filter Directories Templates + cy.get(".template-category-filters").within(() => { + cy.get('[data-cy="Directories"]').click() + }) + }) + + it("should verify the details option for Directories templates", () => { + cy.get(".template-grid").find(".template-card").its('length') + .then(len => { + // Verify template name is within details link + for (let i = 0; i < len; i++) { + cy.get(".template-card").eq(i).within(() => { + const templateName = cy.get(".template-thumbnail-text") + templateName.invoke('text') + .then(templateNameText => { + const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-') + const templateNameSplit = templateNameParsed.split('-template')[0] + cy.get('a') + .should('have.attr', 'href').and('contain', templateNameSplit) + }) + // Verify correct status from Details link - 200 + cy.get('a') + .then(link => { + cy.request(link.prop('href')) + .its('status') + .should('eq', 200) + }) + }) + } + }) + }) +}) +}) diff --git a/packages/builder/cypress/integration/templates/forms/formsTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/forms/formsTemplateDetails.spec.js new file mode 100644 index 0000000000..a8cb30da85 --- /dev/null +++ b/packages/builder/cypress/integration/templates/forms/formsTemplateDetails.spec.js @@ -0,0 +1,48 @@ +import filterTests from "../../../support/filterTests" + +filterTests(["all"], () => { + context("Verify Forms Template Details", () => { + + before(() => { + cy.login() + + // Template navigation + cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`) + .its("body") + .then(val => { + if (val.length > 0) { + cy.get(".spectrum-Button").contains("Templates").click({force: true}) + } + }) + + // Filter Forms Templates + cy.get(".template-category-filters").within(() => { + cy.get('[data-cy="Forms"]').click() + }) + }) + + it("should verify the details option for Forms templates", () => { + cy.get(".template-grid").find(".template-card").its('length') + .then(len => { + // Verify template name is within details link + for (let i = 0; i < len; i++) { + cy.get(".template-card").eq(i).within(() => { + const templateName = cy.get(".template-thumbnail-text") + templateName.invoke('text') + .then(templateNameText => { + const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-') + cy.get('a').should('have.attr', 'href').and('contain', templateNameParsed) + }) + // Verify correct status from Details link - 200 + cy.get('a') + .then(link => { + cy.request(link.prop('href')) + .its('status') + .should('eq', 200) + }) + }) + } + }) + }) +}) +}) diff --git a/packages/builder/cypress/integration/templates/healthcare/healthcareTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/healthcare/healthcareTemplateDetails.spec.js new file mode 100644 index 0000000000..02b8c7694e --- /dev/null +++ b/packages/builder/cypress/integration/templates/healthcare/healthcareTemplateDetails.spec.js @@ -0,0 +1,49 @@ +import filterTests from "../../../support/filterTests" + +filterTests(["all"], () => { + context("Verify Healthcare Template Details", () => { + + before(() => { + cy.login() + + // Template navigation + cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`) + .its("body") + .then(val => { + if (val.length > 0) { + cy.get(".spectrum-Button").contains("Templates").click({force: true}) + } + }) + + // Filter Healthcare Templates + cy.get(".template-category-filters").within(() => { + cy.get('[data-cy="Healthcare"]').click() + }) + }) + + it("should verify the details option for Healthcare templates", () => { + cy.get(".template-grid").find(".template-card").its('length') + .then(len => { + // Verify template name is within details link + for (let i = 0; i < len; i++) { + cy.get(".template-card").eq(i).within(() => { + const templateName = cy.get(".template-thumbnail-text") + templateName.invoke('text') + .then(templateNameText => { + const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-') + + cy.get('a').should('have.attr', 'href').and('contain', templateNameParsed) + }) + // Verify correct status from Details link - 200 + cy.get('a') + .then(link => { + cy.request(link.prop('href')) + .its('status') + .should('eq', 200) + }) + }) + } + }) + }) +}) +}) diff --git a/packages/builder/cypress/integration/templates/legal/legalTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/legal/legalTemplateDetails.spec.js new file mode 100644 index 0000000000..16715bb5d6 --- /dev/null +++ b/packages/builder/cypress/integration/templates/legal/legalTemplateDetails.spec.js @@ -0,0 +1,48 @@ +import filterTests from "../../../support/filterTests" + +filterTests(["all"], () => { + context("Verify Legal Template Details", () => { + + before(() => { + cy.login() + + // Template navigation + cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`) + .its("body") + .then(val => { + if (val.length > 0) { + cy.get(".spectrum-Button").contains("Templates").click({force: true}) + } + }) + + // Filter Legal Templates + cy.get(".template-category-filters").within(() => { + cy.get('[data-cy="Legal"]').click() + }) + }) + + it("should verify the details option for Legal templates", () => { + cy.get(".template-grid").find(".template-card").its('length') + .then(len => { + // Verify template name is within details link + for (let i = 0; i < len; i++) { + cy.get(".template-card").eq(i).within(() => { + const templateName = cy.get(".template-thumbnail-text") + templateName.invoke('text') + .then(templateNameText => { + const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-') + cy.get('a').should('have.attr', 'href').and('contain', templateNameParsed) + }) + // Verify correct status from Details link - 200 + cy.get('a') + .then(link => { + cy.request(link.prop('href')) + .its('status') + .should('eq', 200) + }) + }) + } + }) + }) +}) +}) diff --git a/packages/builder/cypress/integration/templates/logistics/logisticsTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/logistics/logisticsTemplateDetails.spec.js new file mode 100644 index 0000000000..a56cc80a67 --- /dev/null +++ b/packages/builder/cypress/integration/templates/logistics/logisticsTemplateDetails.spec.js @@ -0,0 +1,48 @@ +import filterTests from "../../../support/filterTests" + +filterTests(["all"], () => { + context("Verify Logistics Template Details", () => { + + before(() => { + cy.login() + + // Template navigation + cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`) + .its("body") + .then(val => { + if (val.length > 0) { + cy.get(".spectrum-Button").contains("Templates").click({force: true}) + } + }) + + // Filter Logistics Templates + cy.get(".template-category-filters").within(() => { + cy.get('[data-cy="Logistics"]').click() + }) + }) + + it("should verify the details option for Logistics templates", () => { + cy.get(".template-grid").find(".template-card").its('length') + .then(len => { + // Verify template name is within details link + for (let i = 0; i < len; i++) { + cy.get(".template-card").eq(i).within(() => { + const templateName = cy.get(".template-thumbnail-text") + templateName.invoke('text') + .then(templateNameText => { + const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-') + cy.get('a').should('have.attr', 'href').and('contain', templateNameParsed) + }) + // Verify correct status from Details link - 200 + cy.get('a') + .then(link => { + cy.request(link.prop('href')) + .its('status') + .should('eq', 200) + }) + }) + } + }) + }) +}) +}) diff --git a/packages/builder/cypress/integration/templates/manufacturing/manufacturingTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/manufacturing/manufacturingTemplateDetails.spec.js new file mode 100644 index 0000000000..b2809d78ee --- /dev/null +++ b/packages/builder/cypress/integration/templates/manufacturing/manufacturingTemplateDetails.spec.js @@ -0,0 +1,48 @@ +import filterTests from "../../../support/filterTests" + +filterTests(["all"], () => { + context("Verify Manufacturing Template Details", () => { + + before(() => { + cy.login() + + // Template navigation + cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`) + .its("body") + .then(val => { + if (val.length > 0) { + cy.get(".spectrum-Button").contains("Templates").click({force: true}) + } + }) + + // Filter Manufacturing Templates + cy.get(".template-category-filters").within(() => { + cy.get('[data-cy="Manufacturing"]').click() + }) + }) + + it("should verify the details option for Manufacturing templates", () => { + cy.get(".template-grid").find(".template-card").its('length') + .then(len => { + // Verify template name is within details link + for (let i = 0; i < len; i++) { + cy.get(".template-card").eq(i).within(() => { + const templateName = cy.get(".template-thumbnail-text") + templateName.invoke('text') + .then(templateNameText => { + const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-') + cy.get('a').should('have.attr', 'href').and('contain', templateNameParsed) + }) + // Verify correct status from Details link - 200 + cy.get('a') + .then(link => { + cy.request(link.prop('href')) + .its('status') + .should('eq', 200) + }) + }) + } + }) + }) +}) +}) diff --git a/packages/builder/cypress/integration/templates/marketing/marketingTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/marketing/marketingTemplateDetails.spec.js new file mode 100644 index 0000000000..2c8840f321 --- /dev/null +++ b/packages/builder/cypress/integration/templates/marketing/marketingTemplateDetails.spec.js @@ -0,0 +1,57 @@ +import filterTests from "../../../support/filterTests" + +filterTests(["all"], () => { + context("Verify Marketing Template Details", () => { + + before(() => { + cy.login() + + // Template navigation + cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`) + .its("body") + .then(val => { + if (val.length > 0) { + cy.get(".spectrum-Button").contains("Templates").click({force: true}) + } + }) + + // Filter Marketing Templates + cy.get(".template-category-filters").within(() => { + cy.get('[data-cy="Marketing"]').click() + }) + }) + + it("should verify the details option for Marketing templates", () => { + cy.get(".template-grid").find(".template-card").its('length') + .then(len => { + // Verify template name is within details link + for (let i = 0; i < len; i++) { + cy.get(".template-card").eq(i).within(() => { + const templateName = cy.get(".template-thumbnail-text") + templateName.invoke('text') + .then(templateNameText => { + const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-') + + if (templateNameText == "Lead Generation Form") { + // Multi-step lead form + // Template name includes 'multi-step-lead-form' + cy.get('a') + .should('have.attr', 'href').and('contain', 'multi-step-lead-form') + } + else { + cy.get('a').should('have.attr', 'href').and('contain', templateNameParsed) + } + }) + // Verify correct status from Details link - 200 + cy.get('a') + .then(link => { + cy.request(link.prop('href')) + .its('status') + .should('eq', 200) + }) + }) + } + }) + }) +}) +}) diff --git a/packages/builder/cypress/integration/templates/operations/operationsTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/operations/operationsTemplateDetails.spec.js new file mode 100644 index 0000000000..2665de9e81 --- /dev/null +++ b/packages/builder/cypress/integration/templates/operations/operationsTemplateDetails.spec.js @@ -0,0 +1,48 @@ +import filterTests from "../../../support/filterTests" + +filterTests(["all"], () => { + context("Verify Operations Template Details", () => { + + before(() => { + cy.login() + + // Template navigation + cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`) + .its("body") + .then(val => { + if (val.length > 0) { + cy.get(".spectrum-Button").contains("Templates").click({force: true}) + } + }) + + // Filter Operations Templates + cy.get(".template-category-filters").within(() => { + cy.get('[data-cy="Operations"]').click() + }) + }) + + it("should verify the details option for Operations templates", () => { + cy.get(".template-grid").find(".template-card").its('length') + .then(len => { + // Verify template name is within details link + for (let i = 0; i < len; i++) { + cy.get(".template-card").eq(i).within(() => { + const templateName = cy.get(".template-thumbnail-text") + templateName.invoke('text') + .then(templateNameText => { + const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-') + cy.get('a').should('have.attr', 'href').and('contain', templateNameParsed) + }) + // Verify correct status from Details link - 200 + cy.get('a') + .then(link => { + cy.request(link.prop('href')) + .its('status') + .should('eq', 200) + }) + }) + } + }) + }) +}) +}) diff --git a/packages/builder/cypress/integration/templates/portals/portalsTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/portals/portalsTemplateDetails.spec.js new file mode 100644 index 0000000000..5e26948180 --- /dev/null +++ b/packages/builder/cypress/integration/templates/portals/portalsTemplateDetails.spec.js @@ -0,0 +1,77 @@ +import filterTests from "../../../support/filterTests" + +filterTests(["all"], () => { + context("Verify Portals Template Details", () => { + + before(() => { + cy.login() + + // Template navigation + cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`) + .its("body") + .then(val => { + if (val.length > 0) { + cy.get(".spectrum-Button").contains("Templates").click({force: true}) + } + }) + }) + + it("should verify the details option for Portal templates", () => { + // Filter Portal Templates + cy.get(".template-category-filters").within(() => { + cy.get('[data-cy="Portal"]').click() + }) + + cy.get(".template-grid").find(".template-card").its('length') + .then(len => { + for (let i = 0; i < len; i++) { + cy.get(".template-card").eq(i).within(() => { + const templateName = cy.get(".template-thumbnail-text") + templateName.invoke('text') + .then(templateNameText => { + const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-') + cy.get('a') + .should('have.attr', 'href').and('contain', templateNameParsed) + }) + // Verify correct status from Details link - 200 + cy.get('a') + .then(link => { + cy.request(link.prop('href')) + .its('status') + .should('eq', 200) + }) + }) + } + }) + }) + + it("should verify the details option for Portals templates", () => { + // Filter Portals Templates + cy.get(".template-category-filters").within(() => { + cy.get('[data-cy="Portals"]').click() + }) + + cy.get(".template-grid").find(".template-card").its('length') + .then(len => { + for (let i = 0; i < len; i++) { + cy.get(".template-card").eq(i).within(() => { + const templateName = cy.get(".template-thumbnail-text") + templateName.invoke('text') + .then(templateNameText => { + const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-') + cy.get('a') + .should('have.attr', 'href').and('contain', templateNameParsed) + }) + // Verify correct status from Details link - 200 + cy.get('a') + .then(link => { + cy.request(link.prop('href')) + .its('status') + .should('eq', 200) + }) + }) + } + }) + }) +}) +}) diff --git a/packages/builder/cypress/integration/templates/professionalServices/professionalServicesTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/professionalServices/professionalServicesTemplateDetails.spec.js new file mode 100644 index 0000000000..e8ed18a19c --- /dev/null +++ b/packages/builder/cypress/integration/templates/professionalServices/professionalServicesTemplateDetails.spec.js @@ -0,0 +1,48 @@ +import filterTests from "../../../support/filterTests" + +filterTests(["all"], () => { + context("Verify Professional Services Template Details", () => { + + before(() => { + cy.login() + + // Template navigation + cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`) + .its("body") + .then(val => { + if (val.length > 0) { + cy.get(".spectrum-Button").contains("Templates").click({force: true}) + } + }) + + // Filter Professional Services Templates + cy.get(".template-category-filters").within(() => { + cy.get('[data-cy="Professional Services"]').click() + }) + }) + + it("should verify the details option for Professional Services templates", () => { + cy.get(".template-grid").find(".template-card").its('length') + .then(len => { + // Verify template name is within details link + for (let i = 0; i < len; i++) { + cy.get(".template-card").eq(i).within(() => { + const templateName = cy.get(".template-thumbnail-text") + templateName.invoke('text') + .then(templateNameText => { + const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-') + cy.get('a').should('have.attr', 'href').and('contain', templateNameParsed) + }) + // Verify correct status from Details link - 200 + cy.get('a') + .then(link => { + cy.request(link.prop('href')) + .its('status') + .should('eq', 200) + }) + }) + } + }) + }) +}) +}) diff --git a/packages/builder/cypress/support/commands.js b/packages/builder/cypress/support/commands.js index 6c2cac5b31..969486364a 100644 --- a/packages/builder/cypress/support/commands.js +++ b/packages/builder/cypress/support/commands.js @@ -77,27 +77,23 @@ Cypress.Commands.add("deleteApp", name => { if (val.length > 0) { if (Cypress.env("TEST_ENV")) { cy.searchForApplication(name) - cy.get(".appTable").within(() => { - cy.get(".spectrum-Icon").eq(1).click() - }) - } else { - const appId = val.reduce((acc, app) => { - if (name === app.name) { - acc = app.appId - } - return acc - }, "") - - if (appId == "") { - return - } - - const appIdParsed = appId.split("_").pop() - const actionEleId = `[data-cy=row_actions_${appIdParsed}]` - cy.get(actionEleId).within(() => { - cy.get(".spectrum-Icon").eq(0).click() - }) } + const appId = val.reduce((acc, app) => { + if (name === app.name) { + acc = app.appId + } + return acc + }, "") + + if (appId == "") { + return + } + + const appIdParsed = appId.split("_").pop() + const actionEleId = `[data-cy=row_actions_${appIdParsed}]` + cy.get(actionEleId).within(() => { + cy.get(".spectrum-Icon").eq(0).click() + }) cy.get(".spectrum-Menu").then($menu => { if ($menu.text().includes("Unpublish")) { From 8c4f7ea67cbf30fdd82ea50c906e45403328dc75 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Fri, 29 Apr 2022 12:55:46 +0000 Subject: [PATCH 2/8] v1.0.130-alpha.1 --- lerna.json | 2 +- packages/backend-core/package.json | 2 +- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 10 files changed, 24 insertions(+), 24 deletions(-) diff --git a/lerna.json b/lerna.json index c9aeb85fbc..8b73e051ed 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.0.130-alpha.0", + "version": "1.0.130-alpha.1", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 370f529ed7..2a718c4988 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.0.130-alpha.0", + "version": "1.0.130-alpha.1", "description": "Budibase backend core libraries used in server and worker", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index ec35c0c0b7..34de16fd40 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": "1.0.130-alpha.0", + "version": "1.0.130-alpha.1", "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": "^1.0.130-alpha.0", + "@budibase/string-templates": "^1.0.130-alpha.1", "@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 b70b52bd1a..12d16a9fad 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.0.130-alpha.0", + "version": "1.0.130-alpha.1", "license": "GPL-3.0", "private": true, "scripts": { @@ -65,10 +65,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.0.130-alpha.0", - "@budibase/client": "^1.0.130-alpha.0", - "@budibase/frontend-core": "^1.0.130-alpha.0", - "@budibase/string-templates": "^1.0.130-alpha.0", + "@budibase/bbui": "^1.0.130-alpha.1", + "@budibase/client": "^1.0.130-alpha.1", + "@budibase/frontend-core": "^1.0.130-alpha.1", + "@budibase/string-templates": "^1.0.130-alpha.1", "@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 c9653d6a7e..b99c0ca357 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.0.130-alpha.0", + "version": "1.0.130-alpha.1", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index 06a0b3f6c4..f42a56973c 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.0.130-alpha.0", + "version": "1.0.130-alpha.1", "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": "^1.0.130-alpha.0", - "@budibase/frontend-core": "^1.0.130-alpha.0", - "@budibase/string-templates": "^1.0.130-alpha.0", + "@budibase/bbui": "^1.0.130-alpha.1", + "@budibase/frontend-core": "^1.0.130-alpha.1", + "@budibase/string-templates": "^1.0.130-alpha.1", "@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 dc172cbabd..d9f2231efa 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.0.130-alpha.0", + "version": "1.0.130-alpha.1", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "^1.0.130-alpha.0", + "@budibase/bbui": "^1.0.130-alpha.1", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index beee8b436b..3906874487 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.0.130-alpha.0", + "version": "1.0.130-alpha.1", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -68,10 +68,10 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "^10.0.3", - "@budibase/backend-core": "^1.0.130-alpha.0", - "@budibase/client": "^1.0.130-alpha.0", + "@budibase/backend-core": "^1.0.130-alpha.1", + "@budibase/client": "^1.0.130-alpha.1", "@budibase/pro": "1.0.130-alpha.0", - "@budibase/string-templates": "^1.0.130-alpha.0", + "@budibase/string-templates": "^1.0.130-alpha.1", "@bull-board/api": "^3.7.0", "@bull-board/koa": "^3.7.0", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index a2a1f05c6d..3073481ca5 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.0.130-alpha.0", + "version": "1.0.130-alpha.1", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index 7ac3a44e0c..e7aba9c151 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.0.130-alpha.0", + "version": "1.0.130-alpha.1", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -31,9 +31,9 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.0.130-alpha.0", + "@budibase/backend-core": "^1.0.130-alpha.1", "@budibase/pro": "1.0.130-alpha.0", - "@budibase/string-templates": "^1.0.130-alpha.0", + "@budibase/string-templates": "^1.0.130-alpha.1", "@koa/router": "^8.0.0", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "^0.3.0", From 7379b4e8604c2ab72e2675af9ce69b88dfe1956b Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Fri, 29 Apr 2022 12:57:22 +0000 Subject: [PATCH 3/8] Update pro version to 1.0.130-alpha.1 --- packages/server/package.json | 2 +- packages/worker/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index 3906874487..4811498088 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -70,7 +70,7 @@ "@apidevtools/swagger-parser": "^10.0.3", "@budibase/backend-core": "^1.0.130-alpha.1", "@budibase/client": "^1.0.130-alpha.1", - "@budibase/pro": "1.0.130-alpha.0", + "@budibase/pro": "1.0.130-alpha.1", "@budibase/string-templates": "^1.0.130-alpha.1", "@bull-board/api": "^3.7.0", "@bull-board/koa": "^3.7.0", diff --git a/packages/worker/package.json b/packages/worker/package.json index e7aba9c151..4471b846b1 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -32,7 +32,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "^1.0.130-alpha.1", - "@budibase/pro": "1.0.130-alpha.0", + "@budibase/pro": "1.0.130-alpha.1", "@budibase/string-templates": "^1.0.130-alpha.1", "@koa/router": "^8.0.0", "@sentry/node": "6.17.7", From a9717f3b8f13a25492ed9d156be331f4b826d9a6 Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Tue, 3 May 2022 13:27:22 +0100 Subject: [PATCH 4/8] Add workflow_dispatch to ci, release-develop and release --- .github/workflows/budibase_ci.yml | 1 + .github/workflows/release-develop.yml | 6 ++++++ .github/workflows/release.yml | 6 ++++++ packages/server/yarn.lock | 18 +++++++++--------- packages/worker/yarn.lock | 18 +++++++++--------- 5 files changed, 31 insertions(+), 18 deletions(-) diff --git a/.github/workflows/budibase_ci.yml b/.github/workflows/budibase_ci.yml index 0881d2528d..8e235532cf 100644 --- a/.github/workflows/budibase_ci.yml +++ b/.github/workflows/budibase_ci.yml @@ -11,6 +11,7 @@ on: branches: - master - develop + workflow_dispatch: env: BRANCH: ${{ github.event.pull_request.head.ref }} diff --git a/.github/workflows/release-develop.yml b/.github/workflows/release-develop.yml index 87e4f0988a..7ee02ccdd1 100644 --- a/.github/workflows/release-develop.yml +++ b/.github/workflows/release-develop.yml @@ -14,6 +14,7 @@ on: - 'yarn.lock' - 'package.json' - 'yarn.lock' + workflow_dispatch: env: POSTHOG_TOKEN: ${{ secrets.POSTHOG_TOKEN }} @@ -26,6 +27,11 @@ jobs: runs-on: ubuntu-latest steps: + - name: Fail if branch is not develop + if: github.ref != 'refs/heads/develop' + run: | + echo "Ref is not develop, you must run this job from develop." + exit 1 - uses: actions/checkout@v2 - uses: actions/setup-node@v1 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3fe81dbcd1..359ad4467b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,6 +14,7 @@ on: - 'yarn.lock' - 'package.json' - 'yarn.lock' + workflow_dispatch: env: POSTHOG_TOKEN: ${{ secrets.POSTHOG_TOKEN }} @@ -27,6 +28,11 @@ jobs: runs-on: ubuntu-latest steps: + - name: Fail if branch is not master + if: github.ref != 'refs/heads/master' + run: | + echo "Ref is not master, you must run this job from master." + exit 1 - uses: actions/checkout@v2 - uses: actions/setup-node@v1 with: diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index 239b342eff..1ae8935bad 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1014,10 +1014,10 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.0.127": - version "1.0.127" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.127.tgz#5d1f4b18b31436ddb770dc1ddf16f201ec95dda7" - integrity sha512-3INFkAIxL0Q8Sa65ELRGQqPs+4baykKyb1z/XuO1MyuDPnbFKXGOjl1V61EMy622gsmLk90IJL6aQfh3Grwhvw== +"@budibase/backend-core@1.0.130-alpha.1": + version "1.0.130-alpha.1" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.130-alpha.1.tgz#670c090b91edef708fa77f63d0288f9a2f8733c1" + integrity sha512-Twhy7YtK7URjrw948UVO0MkxRtz8GWAROGTf/uZkla2visuinKVlmXvsnjK/eDKWVfzN+WBqoMjgslEpDqLLtg== dependencies: "@techpass/passport-openidconnect" "^0.3.0" aws-sdk "^2.901.0" @@ -1091,12 +1091,12 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/pro@1.0.127": - version "1.0.127" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.127.tgz#a8bcffb8ccc6afde64370b3a3dc22e2d0dd04f46" - integrity sha512-dj0SFTmO8JuMQ97/Ik6jVPQsh9AW7U5Wkgpa4yeNfwWw3DvSoktCxpeZ9mND6BR/DWTaeZljFKsQ6uk6nimzdQ== +"@budibase/pro@1.0.130-alpha.1": + version "1.0.130-alpha.1" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.130-alpha.1.tgz#12112ef0c178b25cbc24d2e42a644fdcf948cd80" + integrity sha512-TMcfMPM8DSSgoh7WfyPyXvWqOLYBnK8/8LsUcnDsvlEx22YsY/UNQX8eDZ+U9unE+pyCNR1dhP78uvQiFwiq3w== dependencies: - "@budibase/backend-core" "1.0.127" + "@budibase/backend-core" "1.0.130-alpha.1" node-fetch "^2.6.1" "@budibase/standard-components@^0.9.139": diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index dfdcc129d9..da118da79a 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -293,10 +293,10 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.0.127": - version "1.0.127" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.127.tgz#5d1f4b18b31436ddb770dc1ddf16f201ec95dda7" - integrity sha512-3INFkAIxL0Q8Sa65ELRGQqPs+4baykKyb1z/XuO1MyuDPnbFKXGOjl1V61EMy622gsmLk90IJL6aQfh3Grwhvw== +"@budibase/backend-core@1.0.130-alpha.1": + version "1.0.130-alpha.1" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.130-alpha.1.tgz#670c090b91edef708fa77f63d0288f9a2f8733c1" + integrity sha512-Twhy7YtK7URjrw948UVO0MkxRtz8GWAROGTf/uZkla2visuinKVlmXvsnjK/eDKWVfzN+WBqoMjgslEpDqLLtg== dependencies: "@techpass/passport-openidconnect" "^0.3.0" aws-sdk "^2.901.0" @@ -321,12 +321,12 @@ uuid "^8.3.2" zlib "^1.0.5" -"@budibase/pro@1.0.127": - version "1.0.127" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.127.tgz#a8bcffb8ccc6afde64370b3a3dc22e2d0dd04f46" - integrity sha512-dj0SFTmO8JuMQ97/Ik6jVPQsh9AW7U5Wkgpa4yeNfwWw3DvSoktCxpeZ9mND6BR/DWTaeZljFKsQ6uk6nimzdQ== +"@budibase/pro@1.0.130-alpha.1": + version "1.0.130-alpha.1" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.130-alpha.1.tgz#12112ef0c178b25cbc24d2e42a644fdcf948cd80" + integrity sha512-TMcfMPM8DSSgoh7WfyPyXvWqOLYBnK8/8LsUcnDsvlEx22YsY/UNQX8eDZ+U9unE+pyCNR1dhP78uvQiFwiq3w== dependencies: - "@budibase/backend-core" "1.0.127" + "@budibase/backend-core" "1.0.130-alpha.1" node-fetch "^2.6.1" "@cspotcode/source-map-consumer@0.8.0": From 2976073cf93e12ff0cc0c0d9fec18e6445ccce55 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Tue, 3 May 2022 12:54:51 +0000 Subject: [PATCH 5/8] v1.0.130-alpha.2 --- lerna.json | 2 +- packages/backend-core/package.json | 2 +- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 10 files changed, 24 insertions(+), 24 deletions(-) diff --git a/lerna.json b/lerna.json index 8b73e051ed..98485db3e5 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.0.130-alpha.1", + "version": "1.0.130-alpha.2", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 2a718c4988..ad63371a9f 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.0.130-alpha.1", + "version": "1.0.130-alpha.2", "description": "Budibase backend core libraries used in server and worker", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 34de16fd40..32047e070f 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": "1.0.130-alpha.1", + "version": "1.0.130-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": "^1.0.130-alpha.1", + "@budibase/string-templates": "^1.0.130-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 12d16a9fad..12202e6632 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.0.130-alpha.1", + "version": "1.0.130-alpha.2", "license": "GPL-3.0", "private": true, "scripts": { @@ -65,10 +65,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.0.130-alpha.1", - "@budibase/client": "^1.0.130-alpha.1", - "@budibase/frontend-core": "^1.0.130-alpha.1", - "@budibase/string-templates": "^1.0.130-alpha.1", + "@budibase/bbui": "^1.0.130-alpha.2", + "@budibase/client": "^1.0.130-alpha.2", + "@budibase/frontend-core": "^1.0.130-alpha.2", + "@budibase/string-templates": "^1.0.130-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 b99c0ca357..570e955ac0 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.0.130-alpha.1", + "version": "1.0.130-alpha.2", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index f42a56973c..19e57e1e5c 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.0.130-alpha.1", + "version": "1.0.130-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": "^1.0.130-alpha.1", - "@budibase/frontend-core": "^1.0.130-alpha.1", - "@budibase/string-templates": "^1.0.130-alpha.1", + "@budibase/bbui": "^1.0.130-alpha.2", + "@budibase/frontend-core": "^1.0.130-alpha.2", + "@budibase/string-templates": "^1.0.130-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 d9f2231efa..a95d714f83 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.0.130-alpha.1", + "version": "1.0.130-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": "^1.0.130-alpha.1", + "@budibase/bbui": "^1.0.130-alpha.2", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index 4811498088..685da5ba8c 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.0.130-alpha.1", + "version": "1.0.130-alpha.2", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -68,10 +68,10 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "^10.0.3", - "@budibase/backend-core": "^1.0.130-alpha.1", - "@budibase/client": "^1.0.130-alpha.1", + "@budibase/backend-core": "^1.0.130-alpha.2", + "@budibase/client": "^1.0.130-alpha.2", "@budibase/pro": "1.0.130-alpha.1", - "@budibase/string-templates": "^1.0.130-alpha.1", + "@budibase/string-templates": "^1.0.130-alpha.2", "@bull-board/api": "^3.7.0", "@bull-board/koa": "^3.7.0", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 3073481ca5..bde86f55b7 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.0.130-alpha.1", + "version": "1.0.130-alpha.2", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index 4471b846b1..fe3bcf133f 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.0.130-alpha.1", + "version": "1.0.130-alpha.2", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -31,9 +31,9 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.0.130-alpha.1", + "@budibase/backend-core": "^1.0.130-alpha.2", "@budibase/pro": "1.0.130-alpha.1", - "@budibase/string-templates": "^1.0.130-alpha.1", + "@budibase/string-templates": "^1.0.130-alpha.2", "@koa/router": "^8.0.0", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "^0.3.0", From f72fe95fc8430343feca26a3d838dd10b31d3caa Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Tue, 3 May 2022 12:56:06 +0000 Subject: [PATCH 6/8] Update pro version to 1.0.130-alpha.2 --- packages/server/package.json | 2 +- packages/worker/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index 685da5ba8c..66cf141ed4 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -70,7 +70,7 @@ "@apidevtools/swagger-parser": "^10.0.3", "@budibase/backend-core": "^1.0.130-alpha.2", "@budibase/client": "^1.0.130-alpha.2", - "@budibase/pro": "1.0.130-alpha.1", + "@budibase/pro": "1.0.130-alpha.2", "@budibase/string-templates": "^1.0.130-alpha.2", "@bull-board/api": "^3.7.0", "@bull-board/koa": "^3.7.0", diff --git a/packages/worker/package.json b/packages/worker/package.json index fe3bcf133f..5d19a848fc 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -32,7 +32,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "^1.0.130-alpha.2", - "@budibase/pro": "1.0.130-alpha.1", + "@budibase/pro": "1.0.130-alpha.2", "@budibase/string-templates": "^1.0.130-alpha.2", "@koa/router": "^8.0.0", "@sentry/node": "6.17.7", From e1be0976124b99830ab40509f07aa033efddc977 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Tue, 3 May 2022 15:05:22 +0000 Subject: [PATCH 7/8] v1.0.130-alpha.3 --- lerna.json | 2 +- packages/backend-core/package.json | 2 +- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 10 files changed, 24 insertions(+), 24 deletions(-) diff --git a/lerna.json b/lerna.json index 98485db3e5..aad3485095 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.0.130-alpha.2", + "version": "1.0.130-alpha.3", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index ad63371a9f..96d12dbd13 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.0.130-alpha.2", + "version": "1.0.130-alpha.3", "description": "Budibase backend core libraries used in server and worker", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 32047e070f..620fd8b0f7 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": "1.0.130-alpha.2", + "version": "1.0.130-alpha.3", "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": "^1.0.130-alpha.2", + "@budibase/string-templates": "^1.0.130-alpha.3", "@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 12202e6632..e94b1e9365 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.0.130-alpha.2", + "version": "1.0.130-alpha.3", "license": "GPL-3.0", "private": true, "scripts": { @@ -65,10 +65,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.0.130-alpha.2", - "@budibase/client": "^1.0.130-alpha.2", - "@budibase/frontend-core": "^1.0.130-alpha.2", - "@budibase/string-templates": "^1.0.130-alpha.2", + "@budibase/bbui": "^1.0.130-alpha.3", + "@budibase/client": "^1.0.130-alpha.3", + "@budibase/frontend-core": "^1.0.130-alpha.3", + "@budibase/string-templates": "^1.0.130-alpha.3", "@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 570e955ac0..ebdd7677fa 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.0.130-alpha.2", + "version": "1.0.130-alpha.3", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index 19e57e1e5c..c72fdbe660 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.0.130-alpha.2", + "version": "1.0.130-alpha.3", "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": "^1.0.130-alpha.2", - "@budibase/frontend-core": "^1.0.130-alpha.2", - "@budibase/string-templates": "^1.0.130-alpha.2", + "@budibase/bbui": "^1.0.130-alpha.3", + "@budibase/frontend-core": "^1.0.130-alpha.3", + "@budibase/string-templates": "^1.0.130-alpha.3", "@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 a95d714f83..f054e93ca1 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.0.130-alpha.2", + "version": "1.0.130-alpha.3", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "^1.0.130-alpha.2", + "@budibase/bbui": "^1.0.130-alpha.3", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index 66cf141ed4..2f060fb0db 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.0.130-alpha.2", + "version": "1.0.130-alpha.3", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -68,10 +68,10 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "^10.0.3", - "@budibase/backend-core": "^1.0.130-alpha.2", - "@budibase/client": "^1.0.130-alpha.2", + "@budibase/backend-core": "^1.0.130-alpha.3", + "@budibase/client": "^1.0.130-alpha.3", "@budibase/pro": "1.0.130-alpha.2", - "@budibase/string-templates": "^1.0.130-alpha.2", + "@budibase/string-templates": "^1.0.130-alpha.3", "@bull-board/api": "^3.7.0", "@bull-board/koa": "^3.7.0", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index bde86f55b7..dc38fed2ad 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.0.130-alpha.2", + "version": "1.0.130-alpha.3", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index 5d19a848fc..bb874fe660 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.0.130-alpha.2", + "version": "1.0.130-alpha.3", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -31,9 +31,9 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.0.130-alpha.2", + "@budibase/backend-core": "^1.0.130-alpha.3", "@budibase/pro": "1.0.130-alpha.2", - "@budibase/string-templates": "^1.0.130-alpha.2", + "@budibase/string-templates": "^1.0.130-alpha.3", "@koa/router": "^8.0.0", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "^0.3.0", From ec78189e05f054c1978d904d5868ed58a5920fdb Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Tue, 3 May 2022 15:06:39 +0000 Subject: [PATCH 8/8] Update pro version to 1.0.130-alpha.3 --- packages/server/package.json | 2 +- packages/worker/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index 2f060fb0db..bad7f1a97e 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -70,7 +70,7 @@ "@apidevtools/swagger-parser": "^10.0.3", "@budibase/backend-core": "^1.0.130-alpha.3", "@budibase/client": "^1.0.130-alpha.3", - "@budibase/pro": "1.0.130-alpha.2", + "@budibase/pro": "1.0.130-alpha.3", "@budibase/string-templates": "^1.0.130-alpha.3", "@bull-board/api": "^3.7.0", "@bull-board/koa": "^3.7.0", diff --git a/packages/worker/package.json b/packages/worker/package.json index bb874fe660..e5b8ab97a1 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -32,7 +32,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "^1.0.130-alpha.3", - "@budibase/pro": "1.0.130-alpha.2", + "@budibase/pro": "1.0.130-alpha.3", "@budibase/string-templates": "^1.0.130-alpha.3", "@koa/router": "^8.0.0", "@sentry/node": "6.17.7",