;
-
// Unsafe aliases
- UNSAFE_getByType: (type: React.ComponentType
) => ReactTestInstance,
- UNSAFE_getAllByType:
(type: React.ComponentType
) => Array,
- UNSAFE_getByProps: (props: Record) => ReactTestInstance,
- UNSAFE_getAllByProps: (props: Record) => Array,
+ UNSAFE_getByType: (type: React.ComponentType
) => ReactTestInstance;
+ UNSAFE_getAllByType:
(
+ type: React.ComponentType
+ ) => Array;
+ UNSAFE_getByProps: (props: Record) => ReactTestInstance;
+ UNSAFE_getAllByProps: (
+ props: Record
+ ) => Array;
+
+ // Removed
+ /**
+ * @deprecated This function has been removed. Please use other queries.
+ */
+ getByName: (name: React.ReactType | string) => ReactTestInstance;
+ /**
+ * @deprecated This function has been renamed to `UNSAFE_getByType`.
+ */
+ getByType: (type: React.ComponentType
) => ReactTestInstance;
+ /**
+ * @deprecated This function has been renamed to `UNSAFE_getByProps`.
+ */
+ getByProps: (props: Record) => ReactTestInstance;
+ /**
+ * @deprecated This function has been removed. Please use other queries.
+ */
+ getAllByName: (name: React.ReactType | string) => Array;
+ /**
+ * @deprecated This function has been renamed to `UNSAFE_getAllByType`.
+ */
+ getAllByType: (type: React.ComponentType
) => Array;
+ /**
+ * @deprecated This function has been renamed to `UNSAFE_getAllByProps`.
+ */
+ getAllByProps: (props: Record) => Array;
}
interface QueryByAPI {
- queryByName: (name: React.ReactType | string) => ReactTestInstance | null;
- queryByType: (type: React.ComponentType
) => ReactTestInstance | null;
queryByText: (name: string | RegExp) => ReactTestInstance | null;
queryByPlaceholder: (
placeholder: string | RegExp
) => ReactTestInstance | null;
queryByDisplayValue: (value: string | RegExp) => ReactTestInstance | null;
- queryByProps: (props: Record) => ReactTestInstance | null;
queryByTestId: (testID: string) => ReactTestInstance | null;
queryAllByTestId: (testID: string) => Array | null;
- queryAllByName: (
- name: React.ReactType | string
- ) => Array | [];
- queryAllByType: (
- type: React.ComponentType
- ) => Array | [];
queryAllByText: (text: string | RegExp) => Array | [];
queryAllByPlaceholder: (
placeholder: string | RegExp
@@ -59,20 +77,50 @@ interface QueryByAPI {
queryAllByDisplayValue: (
value: string | RegExp
) => Array | [];
- queryAllByProps: (
- props: Record
- ) => Array | [];
// Unsafe aliases
- UNSAFE_queryByType: (type: React.ComponentType
) => ReactTestInstance | null,
- UNSAFE_queryAllByType:
(type: React.ComponentType
) => Array | [],
- UNSAFE_queryByProps: (props: Record) => ReactTestInstance | null,
- UNSAFE_queryAllByProps: (props: Record) => Array | [],
-}
+ UNSAFE_queryByType: (
+ type: React.ComponentType
+ ) => ReactTestInstance | null;
+ UNSAFE_queryAllByType:
(
+ type: React.ComponentType
+ ) => Array | [];
+ UNSAFE_queryByProps: (props: Record) => ReactTestInstance | null;
+ UNSAFE_queryAllByProps: (
+ props: Record
+ ) => Array | [];
-export interface WaitForOptions {
- timeout: number;
- interval: number;
+ // Removed
+ /**
+ * @deprecated This function has been removed. Please use other queries.
+ */
+ queryByName: (name: React.ReactType | string) => ReactTestInstance | null;
+ /**
+ * @deprecated This function has been renamed to `UNSAFE_queryByType`.
+ */
+ queryByType: (type: React.ComponentType
) => ReactTestInstance | null;
+ /**
+ * @deprecated This function has been renamed to `UNSAFE_queryByProps`.
+ */
+ queryByProps: (props: Record) => ReactTestInstance | null;
+ /**
+ * @deprecated This function has been removed. Please use other queries.
+ */
+ queryAllByName: (
+ name: React.ReactType | string
+ ) => Array | [];
+ /**
+ * @deprecated This function has been renamed to `UNSAFE_queryAllByType`.
+ */
+ queryAllByType: (
+ type: React.ComponentType
+ ) => Array | [];
+ /**
+ * @deprecated This function has been renamed to `UNSAFE_queryAllByProps`.
+ */
+ queryAllByProps: (
+ props: Record
+ ) => Array | [];
}
interface FindByAPI {
@@ -109,18 +157,18 @@ interface FindByAPI {
// Not yet available in DefinitelyTyped
export type A11yValue = {
- min?: number,
- max?: number,
- now?: number,
- text?: string,
+ min?: number;
+ max?: number;
+ now?: number;
+ text?: string;
};
type A11yAPI = {
// Label
- getByA11yLabel: (matcher: string | RegExp) => GetReturn,
- getAllByA11yLabel: (matcher: string | RegExp) => GetAllReturn,
- queryByA11yLabel: (matcher: string | RegExp) => QueryReturn,
- queryAllByA11yLabel: (matcher: string | RegExp) => QueryAllReturn,
+ getByA11yLabel: (matcher: string | RegExp) => GetReturn;
+ getAllByA11yLabel: (matcher: string | RegExp) => GetAllReturn;
+ queryByA11yLabel: (matcher: string | RegExp) => QueryReturn;
+ queryAllByA11yLabel: (matcher: string | RegExp) => QueryAllReturn;
findByA11yLabel: (
matcher: string | RegExp,
waitForOptions?: WaitForOptions
@@ -131,10 +179,10 @@ type A11yAPI = {
) => FindAllReturn;
// Hint
- getByA11yHint: (matcher: string | RegExp) => GetReturn,
- getAllByA11yHint: (matcher: string | RegExp) => GetAllReturn,
- queryByA11yHint: (matcher: string | RegExp) => QueryReturn,
- queryAllByA11yHint: (matcher: string | RegExp) => QueryAllReturn,
+ getByA11yHint: (matcher: string | RegExp) => GetReturn;
+ getAllByA11yHint: (matcher: string | RegExp) => GetAllReturn;
+ queryByA11yHint: (matcher: string | RegExp) => QueryReturn;
+ queryAllByA11yHint: (matcher: string | RegExp) => QueryAllReturn;
findByA11yHint: (
matcher: string | RegExp,
waitForOptions?: WaitForOptions
@@ -145,10 +193,10 @@ type A11yAPI = {
) => FindAllReturn;
// Role
- getByA11yRole: (matcher: AccessibilityRole | RegExp) => GetReturn,
- getAllByA11yRole: (matcher: AccessibilityRole | RegExp) => GetAllReturn,
- queryByA11yRole: (matcher: AccessibilityRole | RegExp) => QueryReturn,
- queryAllByA11yRole: (matcher: AccessibilityRole | RegExp) => QueryAllReturn,
+ getByA11yRole: (matcher: AccessibilityRole | RegExp) => GetReturn;
+ getAllByA11yRole: (matcher: AccessibilityRole | RegExp) => GetAllReturn;
+ queryByA11yRole: (matcher: AccessibilityRole | RegExp) => QueryReturn;
+ queryAllByA11yRole: (matcher: AccessibilityRole | RegExp) => QueryAllReturn;
findByA11yRole: (
matcher: AccessibilityRole | RegExp,
waitForOptions?: WaitForOptions
@@ -159,16 +207,24 @@ type A11yAPI = {
) => FindAllReturn;
// States
- getByA11yStates: (matcher: AccessibilityStates | Array) => GetReturn,
- getAllByA11yStates: (matcher: AccessibilityStates | Array) => GetAllReturn,
- queryByA11yStates: (matcher: AccessibilityStates | Array) => QueryReturn,
- queryAllByA11yStates: (matcher: AccessibilityStates | Array) => QueryAllReturn,
+ getByA11yStates: (
+ matcher: AccessibilityStates | Array
+ ) => GetReturn;
+ getAllByA11yStates: (
+ matcher: AccessibilityStates | Array
+ ) => GetAllReturn;
+ queryByA11yStates: (
+ matcher: AccessibilityStates | Array
+ ) => QueryReturn;
+ queryAllByA11yStates: (
+ matcher: AccessibilityStates | Array
+ ) => QueryAllReturn;
// State
- getByA11yState: (matcher: AccessibilityState) => GetReturn,
- getAllByA11yState: (matcher: AccessibilityState) => GetAllReturn,
- queryByA11yState: (matcher: AccessibilityState) => QueryReturn,
- queryAllByA11yState: (matcher: AccessibilityState) => QueryAllReturn,
+ getByA11yState: (matcher: AccessibilityState) => GetReturn;
+ getAllByA11yState: (matcher: AccessibilityState) => GetAllReturn;
+ queryByA11yState: (matcher: AccessibilityState) => QueryReturn;
+ queryAllByA11yState: (matcher: AccessibilityState) => QueryAllReturn;
findByA11yState: (
matcher: AccessibilityState,
waitForOptions?: WaitForOptions
@@ -179,10 +235,10 @@ type A11yAPI = {
) => FindAllReturn;
// Value
- getByA11yValue: (matcher: A11yValue) => GetReturn,
- getAllByA11yValue: (matcher: A11yValue) => GetAllReturn,
- queryByA11yValue: (matcher: A11yValue) => QueryReturn,
- queryAllByA11yValue: (matcher: A11yValue) => QueryAllReturn,
+ getByA11yValue: (matcher: A11yValue) => GetReturn;
+ getAllByA11yValue: (matcher: A11yValue) => GetAllReturn;
+ queryByA11yValue: (matcher: A11yValue) => QueryReturn;
+ queryAllByA11yValue: (matcher: A11yValue) => QueryAllReturn;
findByA11yValue: (
matcher: A11yValue,
waitForOptions?: WaitForOptions
@@ -238,12 +294,22 @@ export declare const render: (
component: React.ReactElement,
options?: RenderOptions
) => RenderAPI;
-export declare const shallow: (
- instance: ReactTestInstance | React.ReactElement
-) => { output: React.ReactElement
};
+
export declare const flushMicrotasksQueue: () => Promise;
export declare const cleanup: () => void;
export declare const fireEvent: FireEventAPI;
export declare const waitFor: WaitForFunction;
export declare const act: (callback: () => void) => Thenable;
export declare const within: (instance: ReactTestInstance) => Queries;
+
+/**
+ * @deprecated This function has been removed. Please use `waitFor` function.
+ */
+export declare const waitForElement: WaitForFunction;
+
+/**
+ * @deprecated This function has been removed.
+ */
+export declare const shallow: (
+ instance: ReactTestInstance | React.ReactElement
+) => { output: React.ReactElement
};
diff --git a/website/docs/Migration20.md b/website/docs/Migration20.md
index 088fa291d..cdf4ecd85 100644
--- a/website/docs/Migration20.md
+++ b/website/docs/Migration20.md
@@ -1,5 +1,5 @@
---
-id: migration20
+id: migration-v2
title: Migration to 2.0
---
@@ -41,7 +41,44 @@ Please note that in many cases `waitFor` call can be replaced by proper use of `
## Removed global `debug` function
-Global debug function has been removed in favor of `debug()` method returned from `render()` function.
+Global `debug()` function has been removed in favor of `debug()` method returned from `render()` function.
+
+## Removed global `shallow` function
+
+Global `shallow()` functions which has been previously deprecated has been removed.
+
+Shallow rendering React component is usually not a good idea, so we decided to remove the API. However, if you find it useful or need to support legacy tests, feel free to implement it yourself. Here's a sample implementation:
+
+```js
+import ShallowRenderer from 'react-test-renderer/shallow';
+
+export function shallow(instance: ReactTestInstance | React.Element) {
+ const renderer = new ShallowRenderer();
+ renderer.render(React.createElement(instance.type, instance.props));
+
+ return { output: renderer.getRenderOutput() };
+}
+```
+
+## Removed functions
+
+Following query functions have been removed after being deprecated for more than a year now:
+
+- `getByName`
+- `getAllByName`
+- `queryByName`
+- `queryAllByName`
+
+The `*ByType` and `*ByProps` queries has been prefixed with `UNSAFE_`. You can safely rename them using global search/replace in your project:
+
+- `getByType` -> `UNSAFE_getByType`
+- `getAllByType` -> `UNSAFE_getAllByType`
+- `queryByType` -> `UNSAFE_queryByType`
+- `queryAllByType` -> `UNSAFE_queryAllByType`
+- `getByProps` -> `UNSAFE_getByProps`
+- `getAllByProps` -> `UNSAFE_getAllByProps`
+- `queryByProps` -> `UNSAFE_queryByProps`
+- `queryAllByProps` -> `UNSAFE_queryAllByProps`
## Some `byTestId` queries behavior changes
diff --git a/website/sidebars.js b/website/sidebars.js
index d3c764e26..1d5e0411a 100644
--- a/website/sidebars.js
+++ b/website/sidebars.js
@@ -2,7 +2,7 @@ module.exports = {
docs: {
Introduction: ['getting-started'],
'API Reference': ['api', 'api-queries'],
- Guides: ['migration20'],
+ Guides: ['migration-v2'],
Examples: ['react-navigation', 'redux-integration'],
},
};