UNPKG

@cainiaofe/cn-ui-m

Version:
72 lines (71 loc) 2.24 kB
import '@testing-library/jest-dom'; import { render, RenderOptions, RenderResult } from '@testing-library/react'; import * as React from 'react'; type UI = Parameters<typeof render>[0]; declare const AllTheProviders: ({ children }: { children: React.ReactElement; }) => React.ReactElement<any, string | React.JSXElementConstructor<any>>; export interface TestOptions extends Omit<RenderOptions, 'wrapper'> { /** * optional additional wrapper, e.g. Context * * @example * ```ts * // single wrapper * render(<MyConponent />, { * wrapper: MyContext * }); * * // multiple wrapper * render(<MyConponent />, { * wrapper: ({ children }) => ( * <ContextA> * <ContextB> * {children} * <ContextB /> * <ContextA /> * ) * }); * * ``` */ wrapper?: typeof AllTheProviders; } /** * Custom render for @testing-library/react * * @see https://testing-library.com/docs/react-testing-library/setup#custom-render * @param component the component under test * @param options customized test options */ export declare const customRender: (ui: UI, { wrapper: Wrapper, ...options }?: TestOptions) => RenderResult; export * from '@testing-library/react'; export { default as userEvent } from '@testing-library/user-event'; export { customRender as render }; /** * Validates against common a11y mistakes. * * Wrapper for jest-axe * * @example * ```jsx * it('passes a11y test', async () => { * await testA11Y(<MyComponent />, options); * }); * * // sometimes we need to perform interactions first to render conditional UI * it('passes a11y test when open', async () => { * const { container } = render(<MyComponent />, options); * * fireEvent.click(screen.getByRole('button')); * * await testA11Y(container, options); * }); * ``` * * @see https://github.com/nickcolley/jest-axe#testing-react-with-react-testing-library */ export declare const testA11y: (ui: UI | Element) => Promise<void>; export declare const sleep: (time: number) => Promise<void>; export declare const actSleep: (time: number) => Promise<undefined>; export declare const mockDrag: (el: Element, options: any[]) => void;