1 | // Type definitions for jest-environment-puppeteer 5.0
|
2 | // Project: https://github.com/smooth-code/jest-puppeteer/tree/master/packages/jest-environment-puppeteer
|
3 | // Definitions by: Ifiok Jr. <https://github.com/ifiokjr>
|
4 | // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
5 | // TypeScript Version: 3.8
|
6 |
|
7 | import NodeEnvironment = require('jest-environment-node');
|
8 | import { Browser, Page, BrowserContext } from 'puppeteer';
|
9 | import { Context } from 'vm';
|
10 |
|
11 | interface JestPuppeteer {
|
12 | /**
|
13 | * Reset global.page
|
14 | *
|
15 | * ```ts
|
16 | * beforeEach(async () => {
|
17 | * await jestPuppeteer.resetPage()
|
18 | * })
|
19 | * ```
|
20 | */
|
21 | resetPage(): Promise<void>;
|
22 |
|
23 | /**
|
24 | * Reset global.browser
|
25 | *
|
26 | * ```ts
|
27 | * beforeEach(async () => {
|
28 | * await jestPuppeteer.resetBrowser()
|
29 | * })
|
30 | * ```
|
31 | */
|
32 | resetBrowser(): Promise<void>;
|
33 |
|
34 | /**
|
35 | * Suspends test execution and gives you opportunity to see what's going on in the browser
|
36 | * - Jest is suspended (no timeout)
|
37 | * - A debugger instruction to Chromium, if Puppeteer has been launched with { devtools: true } it will stop
|
38 | *
|
39 | * ```ts
|
40 | * it('should put test in debug mode', async () => {
|
41 | * await jestPuppeteer.debug()
|
42 | * })
|
43 | * ```
|
44 | */
|
45 | debug(): Promise<void>;
|
46 | }
|
47 |
|
48 | interface Global extends NonNullable<NodeEnvironment['global']> {
|
49 | browser: Browser;
|
50 | context: Context;
|
51 | page: Page;
|
52 | jestPuppeteer: JestPuppeteer;
|
53 | }
|
54 |
|
55 | /** Note: TestEnvironment is sandboxed. Each test suite will trigger setup/teardown in their own TestEnvironment. */
|
56 | declare class PuppeteerEnvironment extends NodeEnvironment {
|
57 | global: Global;
|
58 | }
|
59 |
|
60 | declare global {
|
61 | const browser: Browser;
|
62 | const context: BrowserContext;
|
63 | const page: Page;
|
64 | const jestPuppeteer: JestPuppeteer;
|
65 | }
|
66 |
|
67 | export = PuppeteerEnvironment;
|