From cfc586791de9c87a5851e8dd4336ef0ba8cbc3ec Mon Sep 17 00:00:00 2001 From: Weyert de Boer Date: Wed, 26 Jun 2019 13:51:22 +0100 Subject: [PATCH] Updated type defs for @testing-library/user-event (#36444) * fix: updated the type definitions for @testing-library/user-event * just make changes to testing-library__user-event * take 2 * updated type defs * cleaned up formatting * fix naming * attempt to fix the type defs * chore: updated tsconfig.json * remove whitespace * fix whitespace * chore: attempt to fix both user-event packages * chore: formatting code --- types/testing-library__user-event/index.d.ts | 10 ++++------ .../testing-library__user-event-tests.ts | 4 +++- types/testing-library__user-event/tsconfig.json | 5 +++++ types/user-event/index.d.ts | 11 +++++------ 4 files changed, 17 insertions(+), 13 deletions(-) diff --git a/types/testing-library__user-event/index.d.ts b/types/testing-library__user-event/index.d.ts index 02c42b3b0d..01a8d04787 100644 --- a/types/testing-library__user-event/index.d.ts +++ b/types/testing-library__user-event/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for @testing-library/user-event 4.0 +// Type definitions for @testing-library/user-event 4.1 // Project: https://github.com/testing-library/user-event // Definitions by: Wu Haotian // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped @@ -7,14 +7,12 @@ export interface UserOpts { allAtOnce?: boolean; delay?: number; } + declare const userEvent: { click: (element: Element | Window) => void; dblClick: (element: Element | Window) => void; - type: ( - element: Element | Window, - text: string, - userOpts?: UserOpts - ) => Promise; + selectOptions: (element: Element | Window, values: string | string[]) => void; + type: (element: Element | Window, text: string, userOpts?: UserOpts) => Promise; }; export default userEvent; diff --git a/types/testing-library__user-event/testing-library__user-event-tests.ts b/types/testing-library__user-event/testing-library__user-event-tests.ts index 0ecf6eb439..889dce9a03 100644 --- a/types/testing-library__user-event/testing-library__user-event-tests.ts +++ b/types/testing-library__user-event/testing-library__user-event-tests.ts @@ -1,7 +1,9 @@ -import userEvent, { UserOpts } from "user-event"; +import userEvent, { UserOpts } from 'user-event'; userEvent.click(document.body); // $ExpectType void userEvent.dblClick(window); // $ExpectType void +userEvent.selectOptions(window, 'test'); // $ExpectType void +userEvent.selectOptions(window, ['test1', 'test2']); // $ExpectType void userEvent.type(document.body, "s"); // $ExpectType Promise userEvent.type(document.body, "s", {}); // $ExpectType Promise userEvent.type(document.body, "s", { delay: 5000 }); // $ExpectType Promise diff --git a/types/testing-library__user-event/tsconfig.json b/types/testing-library__user-event/tsconfig.json index 81277cf626..75d3f3addb 100644 --- a/types/testing-library__user-event/tsconfig.json +++ b/types/testing-library__user-event/tsconfig.json @@ -12,5 +12,10 @@ "noEmit": true, "forceConsistentCasingInFileNames": true }, + "paths": { + "@testing-library/user-event": [ + "testing-library__user-event" + ] + }, "files": ["index.d.ts", "testing-library__user-event-tests.ts"] } diff --git a/types/user-event/index.d.ts b/types/user-event/index.d.ts index 05b86263ac..9b9f902c73 100644 --- a/types/user-event/index.d.ts +++ b/types/user-event/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for user-event 1.4 +// Type definitions for user-event 4.1 // Project: https://github.com/testing-library/user-event // Definitions by: Wu Haotian // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped @@ -10,11 +10,10 @@ export interface UserOpts { declare const userEvent: { click: (element: Element | Window) => void; dblClick: (element: Element | Window) => void; - type: ( - element: Element | Window, - text: string, - userOpts?: UserOpts - ) => Promise; + + selectOptions: (element: Element | Window, values: string | string[]) => void; + + type: (element: Element | Window, text: string, userOpts?: UserOpts) => Promise; }; export default userEvent;