n8n/cypress/pages/sidebar/main-sidebar.ts
Csaba Tuncsik 5cdcb61f66
fix(editor): Optimizing main sidebar to have more space for Projects (#9686)
Co-authored-by: Omar Ajoue <krynble@gmail.com>
2024-06-25 11:14:02 +02:00

43 lines
1.4 KiB
TypeScript

import { BasePage } from '../base';
import { WorkflowsPage } from '../workflows';
export class MainSidebar extends BasePage {
getters = {
menuItem: (id: string) => cy.getByTestId('menu-item').get('#' + id),
settings: () => this.getters.menuItem('settings'),
settingsBack: () => cy.getByTestId('settings-back'),
templates: () => this.getters.menuItem('templates'),
workflows: () => this.getters.menuItem('workflows'),
credentials: () => this.getters.menuItem('credentials'),
executions: () => this.getters.menuItem('executions'),
adminPanel: () => this.getters.menuItem('cloud-admin'),
userMenu: () => cy.getByTestId('user-menu'),
logo: () => cy.getByTestId('n8n-logo'),
};
actions = {
goToSettings: () => {
this.getters.userMenu().click();
cy.getByTestId('user-menu-item-settings').should('be.visible').click();
},
goToCredentials: () => {
this.getters.credentials().should('be.visible');
cy.get('[data-old-overflow]').should('not.exist');
this.getters.credentials().click();
},
openUserMenu: () => {
this.getters.userMenu().click();
},
closeSettings: () => {
this.getters.settingsBack().click();
},
signout: () => {
const workflowsPage = new WorkflowsPage();
cy.visit(workflowsPage.url);
this.actions.openUserMenu();
cy.getByTestId('user-menu-item-logout').click();
cy.wrap(Cypress.session.clearAllSavedSessions());
},
};
}