55 lines
1.7 KiB
JavaScript
55 lines
1.7 KiB
JavaScript
import filterTests from "../support/filterTests"
|
|
const interact = require('../support/interact')
|
|
|
|
filterTests(["smoke", "all"], () => {
|
|
context("Screen Tests", () => {
|
|
before(() => {
|
|
cy.login()
|
|
cy.createTestApp()
|
|
cy.navigateToFrontend()
|
|
})
|
|
|
|
it("Should successfully create a screen", () => {
|
|
cy.createScreen("test")
|
|
cy.get(interact.BODY).within(() => {
|
|
cy.contains("/test").should("exist")
|
|
})
|
|
})
|
|
|
|
it("Should update the url", () => {
|
|
cy.createScreen("test with spaces")
|
|
cy.get(interact.BODY).within(() => {
|
|
cy.contains("/test-with-spaces").should("exist")
|
|
})
|
|
})
|
|
|
|
it("should delete all screens then create first screen via button", () => {
|
|
cy.deleteAllScreens()
|
|
|
|
cy.contains("Create first screen").click()
|
|
cy.get(interact.BODY, { timeout: 2000 }).should('contain', '/home')
|
|
})
|
|
|
|
it("Should create and filter screens by access level", () => {
|
|
const accessLevels = ["Basic", "Admin", "Public", "Power"]
|
|
|
|
for (const access of accessLevels){
|
|
// Create screen with specified access level
|
|
cy.createScreen(access, access)
|
|
// Filter by access level and confirm screen visible
|
|
cy.filterScreensAccessLevel(access)
|
|
cy.get(interact.BODY).within(() => {
|
|
cy.get(interact.NAV_ITEM).should('contain', access.toLowerCase())
|
|
})
|
|
}
|
|
|
|
// Filter by All screens - Confirm all screens visible
|
|
cy.filterScreensAccessLevel("All screens")
|
|
cy.get(interact.BODY).should('contain', accessLevels[0])
|
|
.and('contain', accessLevels[1])
|
|
.and('contain', accessLevels[2])
|
|
.and('contain', accessLevels[3])
|
|
})
|
|
})
|
|
})
|