diff --git a/types/expect-puppeteer/expect-puppeteer-tests.ts b/types/expect-puppeteer/expect-puppeteer-tests.ts index dc8c37365c..9faa6c49dd 100644 --- a/types/expect-puppeteer/expect-puppeteer-tests.ts +++ b/types/expect-puppeteer/expect-puppeteer-tests.ts @@ -2,30 +2,36 @@ import { ElementHandle, Page } from "puppeteer"; const testGlobal = async (instance: ElementHandle | Page) => { await expect(instance).toClick("selector"); - await expect(instance).toClick("selector", { polling: "mutation", text: "text" }); - await expect(instance).toClick("selector", { polling: "raf", timeout: 777 }); + await expect(instance).toClick("selector", { text: "text" }); + await expect(instance).toClick("selector", { button: "left" }); + await expect(instance).toClick("selector", { button: "right" }); + await expect(instance).toClick("selector", { button: "middle" }); + await expect(instance).toClick("selector", { clickCount: 3 }); + await expect(instance).toClick("selector", { delay: 100 }); const dialog = await expect(instance).toDisplayDialog(async () => {}); console.log(dialog.message()); await expect(instance).toFill("selector", "value"); - await expect(instance).toFill("selector", "value", { polling: 777 }); + await expect(instance).toFill("selector", "value", { delay: 777 }); + + await expect(instance).toFillForm("selector", { foo: 'bar', baz: 123 }); + await expect(instance).toFillForm("selector", { foo: 'bar', baz: 123 }, { delay: 777 }); await expect(instance).toMatch("selector"); await expect(instance).toMatch("selector", { timeout: 777 }); + await expect(instance).toMatch("selector", { polling: "raf", timeout: 777 }); + await expect(instance).toMatch("selector", { polling: "mutation", timeout: 777 }); await expect(instance).toMatchElement("selector"); await expect(instance).toMatchElement("selector", { polling: "raf", timeout: 777 }); await expect(instance).toMatchElement("selector", { polling: "mutation", text: "text" }); + await expect(instance).toMatchElement("selector", { polling: "raf", visible: true }); await expect(instance).toSelect("selector", "valueOrText"); - await expect(instance).toSelect("selector", "valueOrText", { polling: "raf" }); await expect(instance).toUploadFile("selector", "filePath"); await expect(instance).toUploadFile("selector", "filePath", { timeout: 777 }); - - await expect(instance).toFillForm("selector", { foo: 'bar', baz: 123 }); - await expect(instance).toFillForm("selector", { foo: 'bar', baz: 123 }, { timeout: 777 }); }; const testImported = async (instance: ElementHandle | Page) => { diff --git a/types/expect-puppeteer/index.d.ts b/types/expect-puppeteer/index.d.ts index 5a4a2d9e8a..689e607b17 100644 --- a/types/expect-puppeteer/index.d.ts +++ b/types/expect-puppeteer/index.d.ts @@ -1,7 +1,8 @@ -// Type definitions for expect-puppeteer 3.3 +// Type definitions for expect-puppeteer 4.4 // Project: https://github.com/smooth-code/jest-puppeteer/tree/master/packages/expect-puppeteer // Definitions by: Josh Goldberg // Tanguy Krotoff +// Jason Mong // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 3.0 @@ -27,13 +28,38 @@ interface ExpectTimingActions { * Maximum time to wait for in milliseconds. Defaults to 500. */ timeout?: number; + + /** + * delay to pass to the puppeteer element.type API + */ + delay?: number; } interface ExpectToClickOptions extends ExpectTimingActions { + /** + * Defaults to left. + */ + button?: "left" | "right" | "middle"; + + /** + * defaults to 1. See UIEvent.detail. + */ + clickCount?: number; + + /** + * Time to wait between mousedown and mouseup in milliseconds. Defaults to 0. + */ + delay?: number; + /** * A text or a RegExp to match in element textContent. */ text?: string | RegExp; + + /** + * wait for element to be present in DOM and to be visible, i.e. to not have display: none or visibility: hidden CSS properties. Defaults to false. + */ + visible?: boolean; } interface ExpectPuppeteer {