forked from tsai/budibase
7 changed files with 132 additions and 5 deletions
@ -0,0 +1,109 @@ |
|||
import filterTests from "../support/filterTests" |
|||
|
|||
filterTests(['all'], () => { |
|||
context("Publish Application Workflow", () => { |
|||
before(() => { |
|||
cy.login() |
|||
cy.createTestApp() |
|||
}) |
|||
|
|||
it("Should reflect the unpublished status correctly", () => { |
|||
cy.visit(`${Cypress.config().baseUrl}/builder`) |
|||
cy.wait(1000) |
|||
|
|||
cy.get(".appTable") |
|||
let appStatusEle = cy.get(".app-status").eq(0) |
|||
appStatusEle.contains("Unpublished") |
|||
appStatusEle.get("svg[aria-label='GlobeStrike']").should("exist") |
|||
appStatusEle.get(".app-row-actions .spectrum-Button").contains("Preview") |
|||
|
|||
appStatusEle.get(".app-row-actions .spectrum-Button").contains("Edit").click({ force: true }) |
|||
|
|||
cy.get(".app-status-icon svg[aria-label='GlobeStrike']").should("exist") |
|||
cy.get(".app-status-icon svg[aria-label='Globe']").should("not.exist") |
|||
}) |
|||
|
|||
it("Should publish an application and correctly reflect that", () => { |
|||
//Assuming the previous test was run and the unpublished app is open in edit mode.
|
|||
|
|||
cy.get(".toprightnav button.spectrum-Button").contains("Publish").click({ force : true }) |
|||
|
|||
let deployModal = cy.get(".spectrum-Modal [data-cy='deploy-app-modal']").should("be.visible") |
|||
deployModal.within(() => { |
|||
cy.get(".spectrum-Button").contains("Publish").click({ force : true }) |
|||
cy.wait(1000) |
|||
}); |
|||
|
|||
let deployModalSuccess = cy.get(".spectrum-Modal [data-cy='deploy-app-success-modal']") |
|||
deployModalSuccess.should("be.visible") |
|||
|
|||
deployModalSuccess.within(() => { |
|||
cy.get("[data-cy='deployed-app-url'] input").should('have.value', Cypress.config().baseUrl + '/app/cypress-tests') |
|||
cy.get(".spectrum-Button").contains("Done").click({ force: true }) |
|||
}); |
|||
|
|||
deployModalSuccess.should("exist") |
|||
|
|||
cy.visit(`${Cypress.config().baseUrl}/builder`) |
|||
cy.wait(1000) |
|||
|
|||
cy.get(".appTable") |
|||
let appStatusEle = cy.get(".app-status").eq(0) |
|||
appStatusEle.contains("Published") |
|||
appStatusEle.get("svg[aria-label='Globe']").should("exist") |
|||
appStatusEle.get(".app-row-actions .spectrum-Button").contains("View app") |
|||
|
|||
appStatusEle.get(".app-row-actions .spectrum-Button").contains("Edit").click({ force: true }) |
|||
|
|||
const publishStatusIcon = cy.get(".app-status-icon svg[aria-label='Globe']").should("exist") |
|||
publishStatusIcon.click({ force: true }) |
|||
|
|||
const publishingMenu = cy.get("[data-cy='publish-popover-action']") |
|||
publishingMenu.should("be.visible") |
|||
|
|||
publishingMenu.get("button[data-cy='publish-popover-action']").should("exist") |
|||
publishingMenu.get("button").contains("View App").should("exist") |
|||
|
|||
publishingMenu.get(".publish-popover-message").should("have.text", "Last Published: a few seconds ago") |
|||
|
|||
}) |
|||
|
|||
it("Should unpublish an application from the top navigation and reflect the status change", () => { |
|||
//Assuming the previous test app exists and is published
|
|||
|
|||
cy.visit(`${Cypress.config().baseUrl}/builder`) |
|||
|
|||
cy.get(".appTable") |
|||
let appStatusEle = cy.get(".app-status").eq(0) |
|||
appStatusEle.contains("Published") |
|||
appStatusEle.get("svg[aria-label='Globe']").should("exist") |
|||
appStatusEle.get(".app-row-actions .spectrum-Button").contains("View app") |
|||
|
|||
appStatusEle.get(".app-row-actions .spectrum-Button").contains("Edit").click({ force: true }) |
|||
|
|||
//The published status
|
|||
const publishStatusIcon = cy.get(".app-status-icon svg[aria-label='Globe']").should("exist") |
|||
publishStatusIcon.click({ force: true }) |
|||
|
|||
const publishingMenu = cy.get("[data-cy='publish-popover-action']") |
|||
publishingMenu.should("be.visible") |
|||
|
|||
const unpublishButton = publishingMenu.get("button[data-cy='publish-popover-action']") |
|||
unpublishButton.should("exist") |
|||
|
|||
unpublishButton.click({ force : true }) |
|||
|
|||
const unpublishModal = cy.get("[data-cy='unpublish-modal']") |
|||
unpublishModal.should("be.visible") |
|||
unpublishModal.get(".confirm-wrap button").click({ force: true }) |
|||
|
|||
cy.get(".app-status-icon svg[aria-label='GlobeStrike']").should("exist") |
|||
|
|||
cy.visit(`${Cypress.config().baseUrl}/builder`) |
|||
|
|||
appStatusEle = cy.get(".appTable") |
|||
appStatusEle.get(".app-status").eq(0).contains("Unpublished") |
|||
|
|||
}) |
|||
}) |
|||
}) |
|||
Loading…
Reference in new issue