799c7e6936
Co-authored-by: Denys Konovalov <kontakt@denyskon.de> Co-authored-by: Mathieu COSYNS <64072917+Mathieu-COSYNS@users.noreply.github.com>
83 lines
2.9 KiB
TypeScript
83 lines
2.9 KiB
TypeScript
/// <reference types="cypress" />
|
|
|
|
import type {
|
|
SetupBackendProps,
|
|
SetupBackendTestProps,
|
|
SeedRepoProps,
|
|
TeardownBackendTestProps,
|
|
TeardownBackendProps,
|
|
} from './interface';
|
|
import type { Config as CMSConfig, DeepPartial } from '@staticcms/core/interface';
|
|
|
|
interface KeyProps {
|
|
shift?: boolean;
|
|
times?: number;
|
|
}
|
|
|
|
declare global {
|
|
namespace Cypress {
|
|
interface Chainable {
|
|
task(event: 'setupBackend', props: SetupBackendProps): Chainable<SetupBackendResponse>;
|
|
task(event: 'setupBackendTest', props: SetupBackendTestProps): Chainable<Promise<null>>;
|
|
task(event: 'seedRepo', props: SeedRepoProps): Chainable<Promise<null>>;
|
|
task(event: 'teardownBackendTest', props: TeardownBackendTestProps): Chainable<Promise<null>>;
|
|
task(event: 'teardownBackend', props: TeardownBackendProps): Chainable<Promise<null>>;
|
|
task(event: 'updateConfig', props: DeepPartial<CMSConfig>): Chainable<Promise<null>>;
|
|
|
|
login(): Chainable;
|
|
loginAndNewPost(): Chainable;
|
|
|
|
dragTo(selector: string, options?: { delay?: number }): Chainable;
|
|
|
|
getMarkdownEditor(): Chainable;
|
|
confirmMarkdownEditorContent(expected: string): Chainable;
|
|
clearMarkdownEditorContent(): Chainable;
|
|
confirmRawEditorContent(expected: string): Chainable;
|
|
|
|
enter(props?: KeyProps): Chainable;
|
|
backspace(props?: KeyProps): Chainable;
|
|
selectAll(props?: KeyProps): Chainable;
|
|
up(props?: KeyProps): Chainable;
|
|
down(props?: KeyProps): Chainable;
|
|
left(props?: KeyProps): Chainable;
|
|
right(props?: KeyProps): Chainable;
|
|
tabkey(props?: KeyProps): Chainable;
|
|
|
|
selection(
|
|
fn: (this: Cypress.ObjectLike, currentSubject: JQuery<any>) => Chainable,
|
|
): Chainable;
|
|
setSelection(
|
|
query:
|
|
| string
|
|
| {
|
|
anchorQuery: string;
|
|
anchorOffset?: number;
|
|
focusQuery: string;
|
|
focusOffset?: number;
|
|
},
|
|
endQuery: string,
|
|
): Chainable;
|
|
|
|
setCursor(query: string, atStart?: boolean): Chainable;
|
|
setCursorBefore(query: string): Chainable;
|
|
setCursorAfter(query: string): Chainable;
|
|
|
|
print(message: string): Chainable;
|
|
|
|
insertCodeBlock(): Chainable;
|
|
insertEditorComponent(title: string): Chainable;
|
|
|
|
clickToolbarButton(title: string, opts: { times: number }): Chainable;
|
|
clickHeadingOneButton(opts: { times: number }): Chainable;
|
|
clickHeadingTwoButton(opts: { times: number }): Chainable;
|
|
clickOrderedListButton(opts: { times: number }): Chainable;
|
|
clickUnorderedListButton(opts: { times: number }): Chainable;
|
|
clickCodeButton(opts: { times: number }): Chainable;
|
|
clickItalicButton(opts: { times: number }): Chainable;
|
|
clickQuoteButton(opts: { times: number }): Chainable;
|
|
clickLinkButton(opts: { times: number }): Chainable;
|
|
clickModeToggle(): Chainable;
|
|
}
|
|
}
|
|
}
|