import filterTests from "../../support/filterTests" const interact = require('../../support/interact') filterTests(["smoke", "all"], () => { context("Account Portals", () => { const bbUserEmail = "bbuser@test.com" before(() => { cy.login() cy.deleteApp("Cypress Tests") cy.createApp("Cypress Tests", false) // Create new user cy.wait(500) cy.visit(`${Cypress.config().baseUrl}/builder`, { timeout: 5000}) cy.createUser(bbUserEmail) cy.contains("bbuser").click() cy.wait(500) // Reset password cy.get(".title").within(() => { cy.get(interact.SPECTRUM_ICON).click({ force: true }) }) cy.get(interact.SPECTRUM_MENU).within(() => { cy.get(interact.SPECTRUM_MENU_ITEM).contains("Force Password Reset").click({ force: true }) }) cy.get(interact.SPECTRUM_DIALOG_GRID) .find(interact.SPECTRUM_TEXTFIELD_INPUT).invoke('val').as('pwd') cy.get(interact.SPECTRUM_BUTTON).contains("Reset password").click({ force: true }) // Login as new user and set password cy.logOut() cy.get('@pwd').then((pwd) => { cy.login(bbUserEmail, pwd) }) for (let i = 0; i < 2; i++) { cy.get(interact.SPECTRUM_TEXTFIELD_INPUT).eq(i).type("test") } cy.get(interact.SPECTRUM_BUTTON).contains("Reset your password").click({ force: true }) cy.logoutNoAppGrid() }) xit("should verify Admin Portal", () => { cy.login() // Configure user role cy.setUserRole("bbuser", "Admin") bbUserLogin() // Verify available options for Admin portal cy.get(interact.SPECTRUM_SIDENAV) .should('contain', 'Apps') //.and('contain', 'Usage') .and('contain', 'Users') .and('contain', 'Auth') .and('contain', 'Email') .and('contain', 'Organisation') .and('contain', 'Theming') .and('contain', 'Update') //.and('contain', 'Upgrade') cy.logOut() }) it("should verify Development Portal", () => { // Only Development access should be enabled cy.login() cy.setUserRole("bbuser", "Developer") bbUserLogin() // Verify available options for Admin portal cy.get(interact.SPECTRUM_SIDENAV) .should('contain', 'Apps') //.and('contain', 'Usage') .and('not.contain', 'Users') .and('not.contain', 'Auth') .and('not.contain', 'Email') .and('not.contain', 'Organisation') .and('contain', 'Theming') .and('not.contain', 'Update') .and('not.contain', 'Upgrade') cy.logOut() }) it("should verify Standard Portal", () => { // Development access should be disabled (Admin access is already disabled) cy.login() cy.setUserRole("bbuser", "App User") bbUserLogin() // Verify Standard Portal cy.get(interact.SPECTRUM_SIDENAV).should('not.exist') // No config sections cy.get(interact.CREATE_APP_BUTTON).should('not.exist') // No create app button cy.get(".app").should('not.exist') // No apps -> no roles assigned to user cy.get(interact.CONTAINER).should('contain', bbUserEmail) // Message containing users email cy.logoutNoAppGrid() }) const bbUserLogin = () => { // Login as bbuser cy.logOut() cy.login(bbUserEmail, "test") } after(() => { cy.login() // Delete BB user cy.deleteUser(bbUserEmail) }) }) })