refactoring autoScreensUI test

This commit is contained in:
MihailHadzhiev2022 2022-05-31 18:39:05 +03:00
parent b44ae7b30b
commit d7012c664d
2 changed files with 30 additions and 22 deletions

View File

@ -1,4 +1,5 @@
import filterTests from "../support/filterTests" import filterTests from "../support/filterTests"
const interact = require('../support/interact')
filterTests(['smoke', 'all'], () => { filterTests(['smoke', 'all'], () => {
context("Auto Screens UI", () => { context("Auto Screens UI", () => {
@ -12,10 +13,10 @@ filterTests(['smoke', 'all'], () => {
cy.closeModal(); cy.closeModal();
cy.contains("Design").click() cy.contains("Design").click()
cy.get("[aria-label=AddCircle]").click() cy.get(interact.LABEL_ADD_CIRCLE).click()
cy.get(".spectrum-Modal").within(() => { cy.get(interact.SPECTRUM_MODAL).within(() => {
cy.get(".item.disabled").contains("Autogenerated screens") cy.get(interact.ITEM_DISABLED).contains("Autogenerated screens")
cy.get(".confirm-wrap .spectrum-Button").should('be.disabled') cy.get(interact.CONFIRM_WRAP_SPE_BUTTON).should('be.disabled')
}) })
cy.deleteAllApps() cy.deleteAllApps()
@ -26,14 +27,14 @@ filterTests(['smoke', 'all'], () => {
cy.selectExternalDatasource("REST") cy.selectExternalDatasource("REST")
cy.selectExternalDatasource("S3") cy.selectExternalDatasource("S3")
cy.get(".spectrum-Modal").within(() => { cy.get(interact.SPECTRUM_MODAL).within(() => {
cy.get(".spectrum-Button").contains("Save and continue to query").click({ force : true }) cy.get(interact.SPECTRUM_BUTTON).contains("Save and continue to query").click({ force : true })
}) })
cy.navigateToAutogeneratedModal() cy.navigateToAutogeneratedModal()
cy.get('.data-source-entry').should('have.length', 1) cy.get(interact.DATA_SOURCE_ENTRY).should('have.length', 1)
cy.get('.data-source-entry') cy.get(interact.DATA_SOURCE_ENTRY)
cy.deleteAllApps() cy.deleteAllApps()
}); });
@ -43,8 +44,8 @@ filterTests(['smoke', 'all'], () => {
// Create Autogenerated screens from the internal table // Create Autogenerated screens from the internal table
cy.createDatasourceScreen(["Cypress Tests"]) cy.createDatasourceScreen(["Cypress Tests"])
// Confirm screens have been auto generated // Confirm screens have been auto generated
cy.get(".nav-items-container").contains("cypress-tests").click({ force: true }) cy.get(interact.NAV_ITEMS_CONTAINER).contains("cypress-tests").click({ force: true })
cy.get(".nav-items-container").should('contain', 'cypress-tests/:id') cy.get(interact.NAV_ITEMS_CONTAINER).should('contain', 'cypress-tests/:id')
.and('contain', 'cypress-tests/new/row') .and('contain', 'cypress-tests/new/row')
}) })
@ -56,12 +57,12 @@ filterTests(['smoke', 'all'], () => {
// Create Autogenerated screens from the internal tables // Create Autogenerated screens from the internal tables
cy.createDatasourceScreen([initialTable, secondTable]) cy.createDatasourceScreen([initialTable, secondTable])
// Confirm screens have been auto generated // Confirm screens have been auto generated
cy.get(".nav-items-container").contains("cypress-tests").click({ force: true }) cy.get(interact.NAV_ITEMS_CONTAINER).contains("cypress-tests").click({ force: true })
// Previously generated tables are suffixed with numbers - as expected // Previously generated tables are suffixed with numbers - as expected
cy.get(".nav-items-container").should('contain', 'cypress-tests-2/:id') cy.get(interact.NAV_ITEMS_CONTAINER).should('contain', 'cypress-tests-2/:id')
.and('contain', 'cypress-tests-2/new/row') .and('contain', 'cypress-tests-2/new/row')
cy.get(".nav-items-container").contains("table-two").click() cy.get(interact.NAV_ITEMS_CONTAINER).contains("table-two").click()
cy.get(".nav-items-container").should('contain', 'table-two/:id') cy.get(interact.NAV_ITEMS_CONTAINER).should('contain', 'table-two/:id')
.and('contain', 'table-two/new/row') .and('contain', 'table-two/new/row')
}) })
@ -71,17 +72,17 @@ filterTests(['smoke', 'all'], () => {
cy.createTable("Table Four") cy.createTable("Table Four")
cy.createDatasourceScreen(["Table Three", "Table Four"], "Admin") cy.createDatasourceScreen(["Table Three", "Table Four"], "Admin")
cy.get(".nav-items-container").contains("table-three").click() cy.get(interact.NAV_ITEMS_CONTAINER).contains("table-three").click()
cy.get(".nav-items-container").should('contain', 'table-three/:id') cy.get(interact.NAV_ITEMS_CONTAINER).should('contain', 'table-three/:id')
.and('contain', 'table-three/new/row') .and('contain', 'table-three/new/row')
cy.get(".nav-items-container").contains("table-four").click() cy.get(interact.NAV_ITEMS_CONTAINER).contains("table-four").click()
cy.get(".nav-items-container").should('contain', 'table-four/:id') cy.get(interact.NAV_ITEMS_CONTAINER).should('contain', 'table-four/:id')
.and('contain', 'table-four/new/row') .and('contain', 'table-four/new/row')
//The access level should now be set to admin. Previous screens should be filtered. //The access level should now be set to admin. Previous screens should be filtered.
cy.get(".nav-items-container").contains("table-two").should('not.exist') cy.get(interact.NAV_ITEMS_CONTAINER).contains("table-two").should('not.exist')
cy.get(".nav-items-container").contains("cypress-tests").should('not.exist') cy.get(interact.NAV_ITEMS_CONTAINER).contains("cypress-tests").should('not.exist')
}) })
if (Cypress.env("TEST_ENV")) { if (Cypress.env("TEST_ENV")) {
@ -94,8 +95,8 @@ filterTests(['smoke', 'all'], () => {
// Create Autogenerated screens from a MySQL table - MySQL contains books table // Create Autogenerated screens from a MySQL table - MySQL contains books table
cy.createDatasourceScreen(["books"]) cy.createDatasourceScreen(["books"])
cy.get(".nav-items-container").contains("books").click() cy.get(interact.NAV_ITEMS_CONTAINER).contains("books").click()
cy.get(".nav-items-container").should('contain', 'books/:id') cy.get(interact.NAV_ITEMS_CONTAINER).should('contain', 'books/:id')
.and('contain', 'books/new/row') .and('contain', 'books/new/row')
}) })
} }

View File

@ -43,3 +43,10 @@ export const FONT_SIZE_PROP_CONTRO = "[data-cy=font-size-prop-control]"
export const DATA_CY_DATASOURCE = "[data-cy=setting-dataSource]" export const DATA_CY_DATASOURCE = "[data-cy=setting-dataSource]"
export const DROPDOWN_CONTAINER = ".dropdown-container" export const DROPDOWN_CONTAINER = ".dropdown-container"
export const SPECTRUM_PICKER = ".spectrum-Picker" export const SPECTRUM_PICKER = ".spectrum-Picker"
//autoScreens
export const LABEL_ADD_CIRCLE = "[aria-label=AddCircle]"
export const ITEM_DISABLED = ".item.disabled"
export const CONFIRM_WRAP_SPE_BUTTON = ".confirm-wrap .spectrum-Button"
export const DATA_SOURCE_ENTRY = ".data-source-entry"
export const NAV_ITEMS_CONTAINER = ".nav-items-container"