Merge pull request #5978 from Budibase/cypress-testing
Lead Generation Form Template Test + Refactor
This commit is contained in:
commit
1d3719603e
|
@ -7,13 +7,7 @@ filterTests(["all"], () => {
|
||||||
cy.login()
|
cy.login()
|
||||||
|
|
||||||
// Template navigation
|
// Template navigation
|
||||||
cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
|
cy.visit(`${Cypress.config().baseUrl}/builder/portal/apps/templates`)
|
||||||
.its("body")
|
|
||||||
.then(val => {
|
|
||||||
if (val.length > 0) {
|
|
||||||
cy.get(".spectrum-Button").contains("Templates").click({force: true})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
// Filter HR Templates
|
// Filter HR Templates
|
||||||
cy.get(".template-category-filters").within(() => {
|
cy.get(".template-category-filters").within(() => {
|
||||||
|
|
|
@ -8,13 +8,13 @@ filterTests(["all"], () => {
|
||||||
before(() => {
|
before(() => {
|
||||||
cy.login()
|
cy.login()
|
||||||
cy.deleteApp(templateName)
|
cy.deleteApp(templateName)
|
||||||
cy.visit(`${Cypress.config().baseUrl}/builder`, {
|
// Template navigation
|
||||||
|
cy.visit(`${Cypress.config().baseUrl}/builder/portal/apps/templates`, {
|
||||||
onBeforeLoad(win) {
|
onBeforeLoad(win) {
|
||||||
cy.stub(win, 'open')
|
cy.stub(win, 'open')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
cy.wait(2000)
|
cy.wait(2000)
|
||||||
cy.templateNavigation()
|
|
||||||
})
|
})
|
||||||
|
|
||||||
it("should create and publish app with Job Application Tracker template", () => {
|
it("should create and publish app with Job Application Tracker template", () => {
|
||||||
|
@ -35,20 +35,11 @@ filterTests(["all"], () => {
|
||||||
cy.get(".spectrum-Button").contains("Create app").click({ force: true })
|
cy.get(".spectrum-Button").contains("Create app").click({ force: true })
|
||||||
})
|
})
|
||||||
|
|
||||||
// Publish App
|
// Publish App & Verify it opened
|
||||||
cy.wait(2000) // Wait for app to generate
|
cy.wait(2000) // Wait for app to generate
|
||||||
cy.get(".toprightnav").contains("Publish").click({ force: true })
|
cy.publishApp(true)
|
||||||
cy.get(".spectrum-Dialog-grid").within(() => {
|
|
||||||
cy.get(".spectrum-Button").contains("Publish").click({ force: true })
|
|
||||||
})
|
|
||||||
|
|
||||||
// Verify Published app
|
|
||||||
cy.wait(2000) // Wait for App to publish and modal to appear
|
|
||||||
cy.get(".spectrum-Dialog-grid").within(() => {
|
|
||||||
cy.get(".spectrum-Button").contains("View App").click({ force: true })
|
|
||||||
cy.window().its('open').should('be.calledOnce')
|
cy.window().its('open').should('be.calledOnce')
|
||||||
})
|
})
|
||||||
})
|
|
||||||
|
|
||||||
it("should add active/inactive vacancies", () => {
|
it("should add active/inactive vacancies", () => {
|
||||||
// Visit published app
|
// Visit published app
|
||||||
|
|
|
@ -7,13 +7,7 @@ filterTests(["all"], () => {
|
||||||
cy.login()
|
cy.login()
|
||||||
|
|
||||||
// Template navigation
|
// Template navigation
|
||||||
cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
|
cy.visit(`${Cypress.config().baseUrl}/builder/portal/apps/templates`)
|
||||||
.its("body")
|
|
||||||
.then(val => {
|
|
||||||
if (val.length > 0) {
|
|
||||||
cy.get(".spectrum-Button").contains("Templates").click({force: true})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
// Filter IT Templates
|
// Filter IT Templates
|
||||||
cy.get(".template-category-filters").within(() => {
|
cy.get(".template-category-filters").within(() => {
|
||||||
|
|
|
@ -8,13 +8,13 @@ filterTests(["all"], () => {
|
||||||
before(() => {
|
before(() => {
|
||||||
cy.login()
|
cy.login()
|
||||||
cy.deleteApp(templateName)
|
cy.deleteApp(templateName)
|
||||||
cy.visit(`${Cypress.config().baseUrl}/builder`, {
|
// Template navigation
|
||||||
|
cy.visit(`${Cypress.config().baseUrl}/builder/portal/apps/templates`, {
|
||||||
onBeforeLoad(win) {
|
onBeforeLoad(win) {
|
||||||
cy.stub(win, 'open')
|
cy.stub(win, 'open')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
cy.wait(2000)
|
cy.wait(2000)
|
||||||
cy.templateNavigation()
|
|
||||||
})
|
})
|
||||||
|
|
||||||
it("should create and publish app with IT Ticketing System template", () => {
|
it("should create and publish app with IT Ticketing System template", () => {
|
||||||
|
@ -35,20 +35,11 @@ filterTests(["all"], () => {
|
||||||
cy.get(".spectrum-Button").contains("Create app").click({ force: true })
|
cy.get(".spectrum-Button").contains("Create app").click({ force: true })
|
||||||
})
|
})
|
||||||
|
|
||||||
// Publish App
|
// Publish App & Verify it opened
|
||||||
cy.wait(2000) // Wait for app to generate
|
cy.wait(2000) // Wait for app to generate
|
||||||
cy.get(".toprightnav").contains("Publish").click({ force: true })
|
cy.publishApp(true)
|
||||||
cy.get(".spectrum-Dialog-grid").within(() => {
|
|
||||||
cy.get(".spectrum-Button").contains("Publish").click({ force: true })
|
|
||||||
})
|
|
||||||
|
|
||||||
// Verify Published app
|
|
||||||
cy.wait(2000) // Wait for App to publish and modal to appear
|
|
||||||
cy.get(".spectrum-Dialog-grid").within(() => {
|
|
||||||
cy.get(".spectrum-Button").contains("View App").click({ force: true })
|
|
||||||
cy.window().its('open').should('be.calledOnce')
|
cy.window().its('open').should('be.calledOnce')
|
||||||
})
|
})
|
||||||
})
|
|
||||||
|
|
||||||
xit("should filter tickets by status", () => {
|
xit("should filter tickets by status", () => {
|
||||||
// Visit published app
|
// Visit published app
|
||||||
|
|
|
@ -7,13 +7,7 @@ filterTests(["all"], () => {
|
||||||
cy.login()
|
cy.login()
|
||||||
|
|
||||||
// Template navigation
|
// Template navigation
|
||||||
cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
|
cy.visit(`${Cypress.config().baseUrl}/builder/portal/apps/templates`)
|
||||||
.its("body")
|
|
||||||
.then(val => {
|
|
||||||
if (val.length > 0) {
|
|
||||||
cy.get(".spectrum-Button").contains("Templates").click({force: true})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
// Filter Admin Panels Templates
|
// Filter Admin Panels Templates
|
||||||
cy.get(".template-category-filters").within(() => {
|
cy.get(".template-category-filters").within(() => {
|
||||||
|
|
|
@ -7,13 +7,7 @@ filterTests(["all"], () => {
|
||||||
cy.login()
|
cy.login()
|
||||||
|
|
||||||
// Template navigation
|
// Template navigation
|
||||||
cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
|
cy.visit(`${Cypress.config().baseUrl}/builder/portal/apps/templates`)
|
||||||
.its("body")
|
|
||||||
.then(val => {
|
|
||||||
if (val.length > 0) {
|
|
||||||
cy.get(".spectrum-Button").contains("Templates").click({force: true})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
// Filter Approval Apps Templates
|
// Filter Approval Apps Templates
|
||||||
cy.get(".template-category-filters").within(() => {
|
cy.get(".template-category-filters").within(() => {
|
||||||
|
|
|
@ -7,13 +7,7 @@ filterTests(["all"], () => {
|
||||||
cy.login()
|
cy.login()
|
||||||
|
|
||||||
// Template navigation
|
// Template navigation
|
||||||
cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
|
cy.visit(`${Cypress.config().baseUrl}/builder/portal/apps/templates`)
|
||||||
.its("body")
|
|
||||||
.then(val => {
|
|
||||||
if (val.length > 0) {
|
|
||||||
cy.get(".spectrum-Button").contains("Templates").click({force: true})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
// Filter Business Apps Templates
|
// Filter Business Apps Templates
|
||||||
cy.get(".template-category-filters").within(() => {
|
cy.get(".template-category-filters").within(() => {
|
||||||
|
|
|
@ -7,13 +7,7 @@ filterTests(["all"], () => {
|
||||||
cy.login()
|
cy.login()
|
||||||
|
|
||||||
// Template navigation
|
// Template navigation
|
||||||
cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
|
cy.visit(`${Cypress.config().baseUrl}/builder/portal/apps/templates`)
|
||||||
.its("body")
|
|
||||||
.then(val => {
|
|
||||||
if (val.length > 0) {
|
|
||||||
cy.get(".spectrum-Button").contains("Templates").click({force: true})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
// Filter Directories Templates
|
// Filter Directories Templates
|
||||||
cy.get(".template-category-filters").within(() => {
|
cy.get(".template-category-filters").within(() => {
|
||||||
|
|
|
@ -7,13 +7,7 @@ filterTests(["all"], () => {
|
||||||
cy.login()
|
cy.login()
|
||||||
|
|
||||||
// Template navigation
|
// Template navigation
|
||||||
cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
|
cy.visit(`${Cypress.config().baseUrl}/builder/portal/apps/templates`)
|
||||||
.its("body")
|
|
||||||
.then(val => {
|
|
||||||
if (val.length > 0) {
|
|
||||||
cy.get(".spectrum-Button").contains("Templates").click({force: true})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
// Filter Forms Templates
|
// Filter Forms Templates
|
||||||
cy.get(".template-category-filters").within(() => {
|
cy.get(".template-category-filters").within(() => {
|
||||||
|
|
|
@ -7,13 +7,7 @@ filterTests(["all"], () => {
|
||||||
cy.login()
|
cy.login()
|
||||||
|
|
||||||
// Template navigation
|
// Template navigation
|
||||||
cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
|
cy.visit(`${Cypress.config().baseUrl}/builder/portal/apps/templates`)
|
||||||
.its("body")
|
|
||||||
.then(val => {
|
|
||||||
if (val.length > 0) {
|
|
||||||
cy.get(".spectrum-Button").contains("Templates").click({force: true})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
// Filter Healthcare Templates
|
// Filter Healthcare Templates
|
||||||
cy.get(".template-category-filters").within(() => {
|
cy.get(".template-category-filters").within(() => {
|
||||||
|
|
|
@ -7,13 +7,7 @@ filterTests(["all"], () => {
|
||||||
cy.login()
|
cy.login()
|
||||||
|
|
||||||
// Template navigation
|
// Template navigation
|
||||||
cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
|
cy.visit(`${Cypress.config().baseUrl}/builder/portal/apps/templates`)
|
||||||
.its("body")
|
|
||||||
.then(val => {
|
|
||||||
if (val.length > 0) {
|
|
||||||
cy.get(".spectrum-Button").contains("Templates").click({force: true})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
// Filter Legal Templates
|
// Filter Legal Templates
|
||||||
cy.get(".template-category-filters").within(() => {
|
cy.get(".template-category-filters").within(() => {
|
||||||
|
|
|
@ -7,13 +7,7 @@ filterTests(["all"], () => {
|
||||||
cy.login()
|
cy.login()
|
||||||
|
|
||||||
// Template navigation
|
// Template navigation
|
||||||
cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
|
cy.visit(`${Cypress.config().baseUrl}/builder/portal/apps/templates`)
|
||||||
.its("body")
|
|
||||||
.then(val => {
|
|
||||||
if (val.length > 0) {
|
|
||||||
cy.get(".spectrum-Button").contains("Templates").click({force: true})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
// Filter Logistics Templates
|
// Filter Logistics Templates
|
||||||
cy.get(".template-category-filters").within(() => {
|
cy.get(".template-category-filters").within(() => {
|
||||||
|
|
|
@ -7,13 +7,7 @@ filterTests(["all"], () => {
|
||||||
cy.login()
|
cy.login()
|
||||||
|
|
||||||
// Template navigation
|
// Template navigation
|
||||||
cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
|
cy.visit(`${Cypress.config().baseUrl}/builder/portal/apps/templates`)
|
||||||
.its("body")
|
|
||||||
.then(val => {
|
|
||||||
if (val.length > 0) {
|
|
||||||
cy.get(".spectrum-Button").contains("Templates").click({force: true})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
// Filter Manufacturing Templates
|
// Filter Manufacturing Templates
|
||||||
cy.get(".template-category-filters").within(() => {
|
cy.get(".template-category-filters").within(() => {
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
import filterTests from "../../../support/filterTests"
|
||||||
|
|
||||||
|
filterTests(["all"], () => {
|
||||||
|
context("Lead Generation Form Template Functionality", () => {
|
||||||
|
const templateName = "Lead Generation Form"
|
||||||
|
const templateNameParsed = templateName.toLowerCase().replace(/\s+/g, '-')
|
||||||
|
|
||||||
|
before(() => {
|
||||||
|
cy.login()
|
||||||
|
cy.deleteApp(templateName)
|
||||||
|
// Template navigation
|
||||||
|
cy.visit(`${Cypress.config().baseUrl}/builder/portal/apps/templates`, {
|
||||||
|
onBeforeLoad(win) {
|
||||||
|
cy.stub(win, 'open')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
cy.wait(2000)
|
||||||
|
})
|
||||||
|
|
||||||
|
it("should create and publish app with Lead Generation Form template", () => {
|
||||||
|
// Select Lead Generation Form template
|
||||||
|
cy.get(".template-thumbnail-text")
|
||||||
|
.contains(templateName).parentsUntil(".template-grid").within(() => {
|
||||||
|
cy.get(".spectrum-Button").contains("Use template").click({ force: true })
|
||||||
|
})
|
||||||
|
|
||||||
|
// Confirm URL matches template name
|
||||||
|
const appUrl = cy.get(".app-server")
|
||||||
|
appUrl.invoke('text').then(appUrlText => {
|
||||||
|
expect(appUrlText).to.equal(`${Cypress.config().baseUrl}/app/` + templateNameParsed)
|
||||||
|
})
|
||||||
|
|
||||||
|
// Create App
|
||||||
|
cy.get(".spectrum-Dialog-grid").within(() => {
|
||||||
|
cy.get(".spectrum-Button").contains("Create app").click({ force: true })
|
||||||
|
})
|
||||||
|
|
||||||
|
// Publish App & Verify it opened
|
||||||
|
cy.wait(2000) // Wait for app to generate
|
||||||
|
cy.publishApp(true)
|
||||||
|
cy.window().its('open').should('be.calledOnce')
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
|
@ -7,13 +7,7 @@ filterTests(["all"], () => {
|
||||||
cy.login()
|
cy.login()
|
||||||
|
|
||||||
// Template navigation
|
// Template navigation
|
||||||
cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
|
cy.visit(`${Cypress.config().baseUrl}/builder/portal/apps/templates`)
|
||||||
.its("body")
|
|
||||||
.then(val => {
|
|
||||||
if (val.length > 0) {
|
|
||||||
cy.get(".spectrum-Button").contains("Templates").click({force: true})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
// Filter Marketing Templates
|
// Filter Marketing Templates
|
||||||
cy.get(".template-category-filters").within(() => {
|
cy.get(".template-category-filters").within(() => {
|
||||||
|
|
|
@ -7,13 +7,7 @@ filterTests(["all"], () => {
|
||||||
cy.login()
|
cy.login()
|
||||||
|
|
||||||
// Template navigation
|
// Template navigation
|
||||||
cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
|
cy.visit(`${Cypress.config().baseUrl}/builder/portal/apps/templates`)
|
||||||
.its("body")
|
|
||||||
.then(val => {
|
|
||||||
if (val.length > 0) {
|
|
||||||
cy.get(".spectrum-Button").contains("Templates").click({force: true})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
// Filter Operations Templates
|
// Filter Operations Templates
|
||||||
cy.get(".template-category-filters").within(() => {
|
cy.get(".template-category-filters").within(() => {
|
||||||
|
|
|
@ -7,21 +7,15 @@ filterTests(["all"], () => {
|
||||||
cy.login()
|
cy.login()
|
||||||
|
|
||||||
// Template navigation
|
// Template navigation
|
||||||
cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
|
cy.visit(`${Cypress.config().baseUrl}/builder/portal/apps/templates`)
|
||||||
.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
|
// Filter Portal Templates
|
||||||
cy.get(".template-category-filters").within(() => {
|
cy.get(".template-category-filters").within(() => {
|
||||||
cy.get('[data-cy="Portal"]').click()
|
cy.get('[data-cy="Portal"]').click()
|
||||||
})
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
it("should verify the details option for Portal templates", () => {
|
||||||
cy.get(".template-grid").find(".template-card").its('length')
|
cy.get(".template-grid").find(".template-card").its('length')
|
||||||
.then(len => {
|
.then(len => {
|
||||||
for (let i = 0; i < len; i++) {
|
for (let i = 0; i < len; i++) {
|
||||||
|
|
|
@ -7,13 +7,7 @@ filterTests(["all"], () => {
|
||||||
cy.login()
|
cy.login()
|
||||||
|
|
||||||
// Template navigation
|
// Template navigation
|
||||||
cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
|
cy.visit(`${Cypress.config().baseUrl}/builder/portal/apps/templates`)
|
||||||
.its("body")
|
|
||||||
.then(val => {
|
|
||||||
if (val.length > 0) {
|
|
||||||
cy.get(".spectrum-Button").contains("Templates").click({force: true})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
// Filter Professional Services Templates
|
// Filter Professional Services Templates
|
||||||
cy.get(".template-category-filters").within(() => {
|
cy.get(".template-category-filters").within(() => {
|
||||||
|
|
|
@ -35,7 +35,7 @@ Cypress.Commands.add("login", () => {
|
||||||
Cypress.Commands.add("closeModal", () => {
|
Cypress.Commands.add("closeModal", () => {
|
||||||
cy.get(".spectrum-Modal").within(() => {
|
cy.get(".spectrum-Modal").within(() => {
|
||||||
cy.get(".close-icon").click()
|
cy.get(".close-icon").click()
|
||||||
cy.wait(500)
|
cy.wait(1000) // Wait for modal to close
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -222,6 +222,21 @@ Cypress.Commands.add("createTestTableWithData", () => {
|
||||||
cy.addColumn("dog", "age", "Number")
|
cy.addColumn("dog", "age", "Number")
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Cypress.Commands.add("publishApp", (viewApp = false) => {
|
||||||
|
cy.get(".toprightnav").contains("Publish").click({ force: true })
|
||||||
|
cy.get(".spectrum-Dialog-grid").within(() => {
|
||||||
|
cy.get(".spectrum-Button").contains("Publish").click({ force: true })
|
||||||
|
})
|
||||||
|
cy.wait(2000) // Wait for App to publish and modal to appear
|
||||||
|
cy.get(".spectrum-Dialog-grid").within(() => {
|
||||||
|
if (viewApp) {
|
||||||
|
cy.get(".spectrum-Button").contains("View App").click({ force: true })
|
||||||
|
} else {
|
||||||
|
cy.get(".spectrum-Button").contains("Done").click({ force: true })
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
Cypress.Commands.add("createTable", (tableName, initialTable) => {
|
Cypress.Commands.add("createTable", (tableName, initialTable) => {
|
||||||
if (!initialTable) {
|
if (!initialTable) {
|
||||||
cy.navigateToDataSection()
|
cy.navigateToDataSection()
|
||||||
|
@ -671,15 +686,3 @@ Cypress.Commands.add("createRestQuery", (method, restUrl, queryPrettyName) => {
|
||||||
.should("contain", method)
|
.should("contain", method)
|
||||||
.and("contain", queryPrettyName)
|
.and("contain", queryPrettyName)
|
||||||
})
|
})
|
||||||
|
|
||||||
Cypress.Commands.add("templateNavigation", () => {
|
|
||||||
// Navigates to templates section
|
|
||||||
cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
|
|
||||||
.its("body")
|
|
||||||
.then(val => {
|
|
||||||
// Templates button needs clicked if apps already exist
|
|
||||||
if (val.length > 0) {
|
|
||||||
cy.get(".spectrum-Button").contains("Templates").click({ force: true })
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
Loading…
Reference in New Issue