// Load type definitions that come with Cypress module
///
import { Interception } from 'cypress/types/net-stubbing';
interface SigninPayload {
email: string;
password: string;
}
interface SetupPayload {
email: string;
password: string;
firstName: string;
lastName: string;
}
interface SignupPayload extends SetupPayload {
url: string;
}
interface InviteUsersPayload {
instanceOwner: SigninPayload;
users: SetupPayload[];
}
declare global {
namespace Cypress {
interface Chainable {
getByTestId(
selector: string,
...args: (Partial | undefined)[]
): Chainable>;
findChildByTestId(childTestId: string): Chainable>;
createFixtureWorkflow(fixtureKey: string, workflowName: string): void;
signin(payload: SigninPayload): void;
signout(): void;
signup(payload: SignupPayload): void;
setup(payload: SetupPayload): void;
setupOwner(payload: SetupPayload): void;
inviteUsers(payload: InviteUsersPayload): void;
interceptREST(method: string, url: string): Chainable;
skipSetup(): void;
resetAll(): void;
enableFeature(feature: string): void;
waitForLoad(waitForIntercepts?: boolean): void;
grantBrowserPermissions(...permissions: string[]): void;
readClipboard(): Chainable;
paste(pastePayload: string): void;
drag(selector: string, target: [number, number]): void;
draganddrop(draggableSelector: string, droppableSelector: string): void;
}
}
}
export {};