Cypress.on('uncaught:exception', (err, runnable) => { // if the error message matches the one about WorkerGlobalScope importScripts if (err.message.includes("Failed to execute 'importScripts' on 'WorkerGlobalScope'")) { // return false to let Cypress know we intentionally want to ignore this error return false; } // otherwise let Cypress throw the error }); beforeEach(() => { cy.visit('http://localhost:3000'); cy.viewport(1250, 900); }); describe('Team edition tests', () => { it('Team edition screens', () => { cy.testid('LoginPage_linkAdmin').click(); cy.testid('LoginPage_password').type('adminpwd'); cy.testid('LoginPage_submitLogin').click(); cy.testid('AdminMenuWidget_itemConnections').click(); cy.contains('New connection').click(); cy.testid('ConnectionDriverFields_connectionType').select('PostgreSQL'); cy.themeshot('connection-administration'); cy.testid('AdminMenuWidget_itemRoles').click(); cy.contains('logged-user').click(); cy.themeshot('role-administration'); cy.testid('AdminMenuWidget_itemUsers').click(); cy.contains('New user').click(); cy.themeshot('user-administration'); cy.testid('AdminMenuWidget_itemAuthentication').click(); cy.contains('Add authentication').click(); cy.contains('Use database login').click(); cy.contains('Add authentication').click(); cy.contains('OAuth 2.0').click(); cy.themeshot('authentication-administration'); }); it('OAuth authentication', () => { cy.testid('LoginPage_linkAdmin').click(); cy.testid('LoginPage_password').type('adminpwd'); cy.testid('LoginPage_submitLogin').click(); cy.testid('AdminMenuWidget_itemAuthentication').click(); // cy.testid('AdminAuthForm_disableButton_local').click(); // cy.testid('AdminAuthForm_disableButton_none').click(); // fill OAuth cy.contains('Add authentication').click(); cy.contains('OAuth 2.0').click(); cy.testid('AdminAuthForm_oauthAuth_oauth').type('http://localhost:16009/dex/auth'); cy.testid('AdminAuthForm_oauthToken_oauth').type('http://localhost:16009/dex/token'); cy.testid('AdminAuthForm_oauthScope_oauth').type('openid email profile'); cy.testid('AdminAuthForm_oauthClient_oauth').type('my-app'); cy.testid('AdminAuthForm_oauthClientSecret_oauth').type('my-secret'); cy.testid('AdminAuthForm_oauthLoginField_oauth').type('name'); cy.testid('AdminAuthForm_oauthSaveNotDefinedLogins_oauth').click(); cy.testid('AdminAuthForm_oauthEmailField_oauth').type('email'); cy.testid('AdminAuthTab_saveButton').click(); cy.testid('WidgetIconPanel_menu').click(); cy.contains('File').click(); cy.contains('Logout').click(); cy.testid('LoginPage_linkRegularUser').click(); // login two times for (let index of [1, 2]) { // login as OAuth cy.testid('LoginPage_loginButton_OAuth 2.0').click(); // login on DEX cy.get('#login').clear().type('test@example.com'); cy.get('#password').clear().type('test'); cy.get('#submit-login').click(); // logout cy.testid('WidgetIconPanel_menu').click(); cy.contains('File').click(); cy.contains('Logout').click(); cy.testid('NotLoggedPage_loginButton').click(); } // Logout and login again as admin cy.testid('LoginPage_linkAdmin').click(); cy.testid('LoginPage_password').type('adminpwd'); cy.testid('LoginPage_submitLogin').click(); cy.testid('AdminMenuWidget_itemUsers').click(); cy.contains('test@example.com'); }); it('Audit logging', () => { cy.testid('LoginPage_linkAdmin').click(); cy.testid('LoginPage_password').type('adminpwd'); cy.testid('LoginPage_submitLogin').click(); cy.testid('AdminMenuWidget_itemAuditLog').click(); cy.contains('Audit log is not enabled'); cy.testid('AdminMenuWidget_itemSettings').click(); cy.testid('AdminSettingsTab_auditLogCheckbox').click(); cy.testid('AdminMenuWidget_itemAuditLog').click(); cy.contains('No data for selected date'); cy.testid('AdminMenuWidget_itemConnections').click(); cy.contains('Open table').click(); cy.contains('displayName'); cy.get('.toolstrip').contains('Export').click(); cy.contains('CSV file').click(); cy.testid('AdminMenuWidget_itemUsers').click(); cy.contains('Open table').click(); cy.contains('login'); cy.get('.toolstrip').contains('Export').click(); cy.contains('XML file').click(); cy.testid('AdminMenuWidget_itemAuditLog').click(); cy.testid('AdminAuditLogTab_refreshButton').click(); cy.contains('Exporting query').click(); cy.themeshot('auditlog'); }); });