n8n/cypress/support/index.ts
कारतोफ्फेलस्क्रिप्ट™ 92d4befea6
fix(core): Fix AddMfaColumns migration for sqlite (no-changelog) (#7006)
When ever we have migrations that use `.addColumn` or `.dropColumn`,
typeorm recreates tables for sqlite. so, we need to disable foreign key
enforcement for sqlite, or else data in some tables can get deleted
because of `ON DELETE CASCADE`

[This has happened in the
past](https://github.com/n8n-io/n8n/pull/6739), and we should really
come up with a way to prevent this from happening again.

---------

Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Oleg Ivaniv <me@olegivaniv.com>
2023-08-24 09:31:37 -04:00

45 lines
1.4 KiB
TypeScript

// Load type definitions that come with Cypress module
/// <reference types="cypress" />
import { Interception } from 'cypress/types/net-stubbing';
interface SigninPayload {
email: string;
password: string;
}
declare global {
namespace Cypress {
interface SuiteConfigOverrides {
disableAutoLogin: boolean;
}
interface Chainable {
config(key: keyof SuiteConfigOverrides): boolean;
getByTestId(
selector: string,
...args: (Partial<Loggable & Timeoutable & Withinable & Shadow> | undefined)[]
): Chainable<JQuery<HTMLElement>>;
findChildByTestId(childTestId: string): Chainable<JQuery<HTMLElement>>;
createFixtureWorkflow(fixtureKey: string, workflowName: string): void;
signin(payload: SigninPayload): void;
signout(): void;
interceptREST(method: string, url: string): Chainable<Interception>;
enableFeature(feature: string): void;
disableFeature(feature: string): void;
waitForLoad(waitForIntercepts?: boolean): void;
grantBrowserPermissions(...permissions: string[]): void;
readClipboard(): Chainable<string>;
paste(pastePayload: string): void;
drag(
selector: string | Cypress.Chainable<JQuery<HTMLElement>>,
target: [number, number],
options?: { abs?: boolean; index?: number; realMouse?: boolean },
): void;
draganddrop(draggableSelector: string, droppableSelector: string): void;
}
}
}
export {};