context("Auto Screens UI", () => { before(() => { cy.login() cy.createTestApp() }) it("should generate internal table screens", () => { // Create autogenerated screens from the internal table cy.createAutogeneratedScreens(["Cypress Tests"]) // Confirm screens have been auto generated cy.get(".nav-items-container").contains("cypress-tests").click() cy.get(".nav-items-container").should('contain', 'cypress-tests/:id') .and('contain', 'cypress-tests/new/row') }) it("should generate multiple internal table screens at once", () => { // Create a second internal table const initialTable = "Cypress Tests" const secondTable = "Table Two" cy.createTable(secondTable) // Create autogenerated screens from the internal tables cy.createAutogeneratedScreens([initialTable, secondTable]) // Confirm screens have been auto generated cy.get(".nav-items-container").contains("cypress-tests").click() // Previously generated tables are suffixed with numbers - as expected cy.get(".nav-items-container").should('contain', 'cypress-tests-2/:id') .and('contain', 'cypress-tests-2/new/row') cy.get(".nav-items-container").contains("table-two").click() cy.get(".nav-items-container").should('contain', 'table-two/:id') .and('contain', 'table-two/new/row') }) if (Cypress.env("TEST_ENV")) { it("should generate data source screens", () => { // Using MySQL data source for testing this const datasource = "MySQL" // Select & configure MySQL data source cy.selectExternalDatasource(datasource) cy.addDatasourceConfig(datasource) // Create autogenerated screens from a MySQL table - MySQL contains books table cy.createAutogeneratedScreens(["books"]) cy.get(".nav-items-container").contains("books").click() cy.get(".nav-items-container").should('contain', 'books/:id') .and('contain', 'books/new/row') }) } })