n8n/cypress/pages/templates.ts

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

45 lines
1.5 KiB
TypeScript
Raw Normal View History

import { BasePage } from './base';
export class TemplatesPage extends BasePage {
url = '/templates';
getters = {
useTemplateButton: () => cy.getByTestId('use-template-button'),
description: () => cy.getByTestId('template-description'),
templateCards: () => cy.getByTestId('template-card'),
firstTemplateCard: () => this.getters.templateCards().first(),
allCategoriesFilter: () => cy.getByTestId('template-filter-all-categories'),
searchInput: () => cy.getByTestId('template-search-input'),
categoryFilters: () => cy.get('[data-test-id^=template-filter]'),
categoryFilter: (category: string) => cy.getByTestId(`template-filter-${category}`),
collectionCountLabel: () => cy.getByTestId('collection-count-label'),
templateCountLabel: () => cy.getByTestId('template-count-label'),
templatesLoadingContainer: () => cy.getByTestId('templates-loading-container'),
};
actions = {
openOnboardingFlow: () => {
cy.intercept('POST', '/rest/workflows').as('createWorkflow');
cy.intercept('GET', 'rest/workflows/**').as('getWorkflow');
cy.visit('/workflows/onboarding/1');
cy.window().then((win) => {
win.preventNodeViewBeforeUnload = true;
});
cy.wait(['@getTemplate', '@createWorkflow', '@getWorkflow']);
},
importTemplate: () => {
cy.intercept('GET', 'rest/workflows/**').as('getWorkflow');
cy.visit('/workflows/templates/1');
cy.window().then((win) => {
win.preventNodeViewBeforeUnload = true;
});
cy.wait(['@getTemplate', '@getWorkflow']);
},
};
}