diff --git a/packages/bbui/src/Popover/PopoverMenu.svelte b/packages/bbui/src/Popover/PopoverMenu.svelte
index 7c9d52f499..11a3f4893f 100644
--- a/packages/bbui/src/Popover/PopoverMenu.svelte
+++ b/packages/bbui/src/Popover/PopoverMenu.svelte
@@ -8,6 +8,7 @@
export let anchor
export let showTip = true
export let direction = "bottom"
+ export let dataCy = null
let dropdown
let tipSvg =
@@ -55,7 +56,7 @@
{@html tipSvg}
{/if}
-
+
diff --git a/packages/builder/cypress/integration/appPublishWorkflow.spec.js b/packages/builder/cypress/integration/appPublishWorkflow.spec.js
index 48190ea69b..efcd6c0a53 100644
--- a/packages/builder/cypress/integration/appPublishWorkflow.spec.js
+++ b/packages/builder/cypress/integration/appPublishWorkflow.spec.js
@@ -11,61 +11,64 @@ filterTests(['all'], () => {
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(".appTable .app-status").eq(0)
+ .within(() => {
+ cy.contains("Unpublished")
+ cy.get("svg[aria-label='GlobeStrike']").should("exist")
+ })
+ cy.get(".appTable .app-row-actions").eq(0)
+ .within(() => {
+ cy.get(".spectrum-Button").contains("Preview")
+ cy.get(".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-Modal [data-cy='deploy-app-modal']").should("be.visible")
+ .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')
+ //Verify that the app url is presented correctly to the user
+ cy.get(".spectrum-Modal [data-cy='deploy-app-success-modal']")
+ .should("be.visible")
+ .within(() => {
+ let appUrl = Cypress.config().baseUrl + '/app/cypress-tests'
+ cy.get("[data-cy='deployed-app-url'] input").should('have.value', appUrl)
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")
+ cy.get(".appTable .app-status").eq(0)
+ .within(() => {
+ cy.contains("Published")
+ cy.get("svg[aria-label='Globe']").should("exist")
+ })
- appStatusEle.get(".app-row-actions .spectrum-Button").contains("Edit").click({ force: true })
+ cy.get(".appTable .app-row-actions").eq(0)
+ .within(() => {
+ cy.get(".spectrum-Button").contains("View app")
+ cy.get(".spectrum-Button").contains("Edit").click({ force: true })
+ })
- const publishStatusIcon = cy.get(".app-status-icon svg[aria-label='Globe']").should("exist")
- publishStatusIcon.click({ force: true })
+ cy.get(".app-status-icon svg[aria-label='Globe']").should("exist").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")
-
+ cy.get("[data-cy='publish-popover-menu']").should("be.visible")
+ .within(() => {
+ cy.get("[data-cy='publish-popover-action']").should("exist")
+ cy.get("button").contains("View App").should("exist")
+ cy.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", () => {
@@ -73,36 +76,36 @@ filterTests(['all'], () => {
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")
+ cy.get(".appTable .app-status").eq(0)
+ .within(() => {
+ cy.contains("Published")
+ cy.get("svg[aria-label='Globe']").should("exist")
+ })
- appStatusEle.get(".app-row-actions .spectrum-Button").contains("Edit").click({ force: true })
+ cy.get(".appTable .app-row-actions").eq(0)
+ .within(() => {
+ cy.get(".spectrum-Button").contains("View app")
+ cy.get(".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")
+ cy.get(".app-status-icon svg[aria-label='Globe']").should("exist")
+ .click({ force: true })
- const unpublishButton = publishingMenu.get("button[data-cy='publish-popover-action']")
- unpublishButton.should("exist")
+ cy.get("[data-cy='publish-popover-menu']").should("be.visible")
+ cy.get("[data-cy='publish-popover-menu'] [data-cy='publish-popover-action']")
+ .click({ force : true })
- 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("[data-cy='unpublish-modal']").should("be.visible")
+ .within(() => {
+ cy.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")
+ cy.get(".appTable .app-status").eq(0).contains("Unpublished")
})
})