test(editor): Add e2e tests for executions preview (#5458)

*  Added initial tests for executions preview
* 🔥 Removing unneeded actions
* 👌 Renaming test suite, moving mock executions logic to util function
This commit is contained in:
Milorad FIlipović
2023-02-14 11:39:19 +01:00
committed by GitHub
parent 856238721a
commit 3b9eec77ec
8 changed files with 211 additions and 14 deletions

View File

@@ -0,0 +1,40 @@
import { BasePage } from "./base";
import { WorkflowPage } from "./workflow";
const workflowPage = new WorkflowPage();
export class WorkflowExecutionsTab extends BasePage {
getters = {
executionsTabButton: () => cy.getByTestId('radio-button-executions'),
executionsSidebar: () => cy.getByTestId('executions-sidebar'),
autoRefreshCheckBox: () => cy.getByTestId('auto-refresh-checkbox'),
executionsList: () => cy.getByTestId('current-executions-list'),
executionListItems: () => this.getters.executionsList().find('div.execution-card'),
successfulExecutionListItems: () => cy.get('[data-test-execution-status="success"]'),
failedExecutionListItems: () => cy.get('[data-test-execution-status="error"]'),
executionCard: (executionId: string) => cy.getByTestId(`execution-details-${executionId}`),
executionPreviewDetails: () => cy.get('[data-test-id^="execution-preview-details-"]'),
executionPreviewDetailsById: (executionId: string) => cy.getByTestId(`execution-preview-details-${executionId}`),
executionPreviewTime: () => this.getters.executionPreviewDetails().find('[data-test-id="execution-time"]'),
executionPreviewStatus: () => this.getters.executionPreviewDetails().find('[data-test-id="execution-preview-label"]'),
executionPreviewId: () => this.getters.executionPreviewDetails().find('[data-test-id="execution-preview-id"]'),
};
actions = {
toggleNodeEnabled: (nodeName: string) => {
workflowPage.getters.canvasNodeByName(nodeName).click();
cy.get('body').type('d', { force: true });
},
createManualExecutions: (count: number) => {
for (let i=0; i<count; i++) {
workflowPage.actions.executeWorkflow();
cy.wait(300);
}
},
switchToExecutionsTab: () => {
this.getters.executionsTabButton().click();
},
switchToEditorTab: () => {
workflowPage.getters.editorTabButton().click();
}
};
};

View File

@@ -103,6 +103,7 @@ export class WorkflowPage extends BasePage {
cy.get(
`.connection-actions[data-source-node="${sourceNodeName}"][data-target-node="${targetNodeName}"]`,
),
editorTabButton: () => cy.getByTestId('radio-button-workflow'),
};
actions = {
visit: () => {
@@ -230,5 +231,15 @@ export class WorkflowPage extends BasePage {
.first()
.click({ force: true });
},
turnOnManualExecutionSaving: () => {
this.getters.workflowMenu().click();
this.getters.workflowMenuItemSettings().click();
this.getters
.workflowSettingsSaveManualExecutionsSelect()
.find('li:contains("Yes")')
.click({ force: true });
this.getters.workflowSettingsSaveButton().click();
this.getters.successToast().should('exist');
},
};
}