UNPKG

2.21 kBTypeScriptView Raw
1/// <reference types="node" />
2import type { MatchImageSnapshotOptions } from 'jest-image-snapshot';
3import type { ScreenshotOptions, Browser, Page, ElementHandle, LaunchOptions } from 'puppeteer';
4type PuppeteerLifeCycleEvent = 'load' | 'domcontentloaded' | 'networkidle0' | 'networkidle2';
5export interface Context {
6 kind: string;
7 story: string;
8 parameters: {
9 [key: string]: any;
10 };
11}
12interface Options {
13 context: Context;
14 url: string;
15}
16interface Base64ScreenShotOptions extends ScreenshotOptions {
17 encoding: 'base64';
18}
19interface DirectNavigationOptions {
20 referer?: string;
21 timeout?: number;
22 waitUntil?: PuppeteerLifeCycleEvent | PuppeteerLifeCycleEvent[];
23}
24export interface CommonConfig {
25 storybookUrl: string;
26 chromeExecutablePath?: string;
27 getGotoOptions: (options: Options) => DirectNavigationOptions | undefined;
28 customizePage: (page: Page) => Promise<void>;
29 getCustomBrowser?: () => Promise<Browser>;
30 /**
31 * Puppeteer browser launch options:
32 * {@link https://pptr.dev/api/puppeteer.puppeteernode.launch/ puppeteer.launch()}
33 */
34 browserLaunchOptions: LaunchOptions;
35 setupTimeout: number;
36 testTimeout: number;
37}
38export interface PuppeteerTestConfig extends CommonConfig {
39 testBody: ((page: Page, options: Options) => void | Promise<void>) & {
40 filter?: (options: Options) => boolean;
41 };
42}
43export interface ImageSnapshotConfig extends CommonConfig {
44 getMatchOptions: (options: Options) => MatchImageSnapshotOptions | undefined;
45 getScreenshotOptions: (options: Options) => Base64ScreenShotOptions;
46 beforeScreenshot: (page: Page, options: Options) => Promise<void | ElementHandle>;
47 afterScreenshot: (options: {
48 image: string | void | Buffer;
49 context: Context;
50 }) => Promise<void>;
51}
52export interface AxeConfig extends CommonConfig {
53 beforeAxeTest: (page: Page, options: Options) => Promise<void>;
54}
55export declare const defaultCommonConfig: CommonConfig;
56export declare const defaultPuppeteerTestConfig: PuppeteerTestConfig;
57export declare const defaultImageSnapshotConfig: ImageSnapshotConfig;
58export declare const defaultAxeConfig: AxeConfig;
59export {};