mirror of
https://github.com/n8n-io/n8n.git
synced 2025-01-30 05:42:00 -08:00
77644860c0
* feat: Added cypress setup files. * feat: Added server bootup and initial test run. * feat: Added e2e tests for signin, signup, and personalization form. * feat: Added e2e tests for adding a function node. * feat: Added set node and workflow execution steps. * feat: Added test id to main sidebar. * feat: Added test for creating a new workflow. * feat: Finished test for creating a blank workflow * chore: Removed screenshots from e2e tests. * refactor: change e2e tests to per page structure * feat: add cypress type enchancements * feat: add typescript for cypress tests * fix: remove component after merge * feat: update cypress definitions * feat: add cypress cleanup task * refactor: update cypress script names * ci: add smoke tests to workflow * chore: remove cypress example files * feat: update signup flow to be reusable * fix: fix signup route for cypress page object * fix: remove cypress reset command * fix: remove unused imports * fix: Add unhandled error catcher
16 lines
439 B
TypeScript
16 lines
439 B
TypeScript
import { IE2ETestPage, IE2ETestPageElement } from "../types";
|
|
|
|
|
|
export class BasePage implements IE2ETestPage {
|
|
elements: Record<string, IE2ETestPageElement> = {};
|
|
get(id: keyof BasePage['elements'], ...args: unknown[]): ReturnType<IE2ETestPageElement> {
|
|
const getter = this.elements[id];
|
|
|
|
if (!getter) {
|
|
throw new Error(`No element with id "${id}" found. Check your page object definition.`);
|
|
}
|
|
|
|
return getter(...args);
|
|
}
|
|
}
|