@testing-library/react-native 9.2.0 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/build/index.flow.js +105 -95
  2. package/build/{helpers → queries}/a11yAPI.d.ts +0 -0
  3. package/build/{helpers → queries}/a11yAPI.js +0 -0
  4. package/build/{helpers → queries}/a11yAPI.js.map +1 -1
  5. package/build/queries/displayValue.d.ts +13 -0
  6. package/build/{helpers/byDisplayValue.js → queries/displayValue.js} +23 -18
  7. package/build/queries/displayValue.js.map +1 -0
  8. package/build/{helpers → queries}/makeA11yQuery.d.ts +0 -0
  9. package/build/{helpers → queries}/makeA11yQuery.js +1 -1
  10. package/build/{helpers → queries}/makeA11yQuery.js.map +1 -1
  11. package/build/queries/makeQueries.d.ts +19 -0
  12. package/build/{helpers → queries}/makeQueries.js +17 -16
  13. package/build/queries/makeQueries.js.map +1 -0
  14. package/build/queries/placeholderText.d.ts +13 -0
  15. package/build/{helpers/byPlaceholderText.js → queries/placeholderText.js} +23 -18
  16. package/build/queries/placeholderText.js.map +1 -0
  17. package/build/queries/testId.d.ts +13 -0
  18. package/build/{helpers/byTestId.js → queries/testId.js} +19 -14
  19. package/build/queries/testId.js.map +1 -0
  20. package/build/queries/text.d.ts +17 -0
  21. package/build/{helpers/byText.js → queries/text.js} +25 -20
  22. package/build/queries/text.js.map +1 -0
  23. package/build/queries/unsafeProps.d.ts +16 -0
  24. package/build/queries/unsafeProps.js +58 -0
  25. package/build/queries/unsafeProps.js.map +1 -0
  26. package/build/queries/unsafeType.d.ts +9 -0
  27. package/build/queries/unsafeType.js +54 -0
  28. package/build/queries/unsafeType.js.map +1 -0
  29. package/build/render.d.ts +34 -44
  30. package/build/render.js +3 -12
  31. package/build/render.js.map +1 -1
  32. package/build/within.d.ts +34 -44
  33. package/build/within.js +16 -7
  34. package/build/within.js.map +1 -1
  35. package/package.json +1 -1
  36. package/typings/index.flow.js +105 -95
  37. package/build/helpers/byDisplayValue.d.ts +0 -6
  38. package/build/helpers/byDisplayValue.js.map +0 -1
  39. package/build/helpers/byPlaceholderText.d.ts +0 -6
  40. package/build/helpers/byPlaceholderText.js.map +0 -1
  41. package/build/helpers/byTestId.d.ts +0 -6
  42. package/build/helpers/byTestId.js.map +0 -1
  43. package/build/helpers/byText.d.ts +0 -10
  44. package/build/helpers/byText.js.map +0 -1
  45. package/build/helpers/findByAPI.d.ts +0 -17
  46. package/build/helpers/findByAPI.js +0 -33
  47. package/build/helpers/findByAPI.js.map +0 -1
  48. package/build/helpers/getByAPI.d.ts +0 -31
  49. package/build/helpers/getByAPI.js +0 -83
  50. package/build/helpers/getByAPI.js.map +0 -1
  51. package/build/helpers/makeQueries.d.ts +0 -20
  52. package/build/helpers/makeQueries.js.map +0 -1
  53. package/build/helpers/queryByAPI.d.ts +0 -39
  54. package/build/helpers/queryByAPI.js +0 -87
  55. package/build/helpers/queryByAPI.js.map +0 -1
@@ -73,140 +73,144 @@ declare type A11yValue = {
73
73
  text?: string,
74
74
  };
75
75
 
76
- interface GetByAPI {
76
+ type WaitForOptions = {
77
+ timeout?: number,
78
+ interval?: number,
79
+ onTimeout?: (error: mixed) => Error,
80
+ };
81
+ type WaitForFunction = <T = any>(
82
+ expectation: () => T,
83
+ options?: WaitForOptions
84
+ ) => Promise<T>;
85
+
86
+ interface ByTextQueries {
77
87
  getByText: (text: TextMatch, options?: TextMatchOptions) => ReactTestInstance;
78
- getByPlaceholderText: (
79
- placeholder: TextMatch,
80
- options?: TextMatchOptions
81
- ) => ReactTestInstance;
82
- getByDisplayValue: (
83
- value: TextMatch,
84
- options?: TextMatchOptions
85
- ) => ReactTestInstance;
86
- getByTestId: (
87
- testID: TextMatch,
88
- options?: TextMatchOptions
89
- ) => ReactTestInstance;
90
- getAllByTestId: (
91
- testID: TextMatch,
92
- options?: TextMatchOptions
93
- ) => Array<ReactTestInstance>;
94
88
  getAllByText: (
95
89
  text: TextMatch,
96
90
  options?: TextMatchOptions
97
91
  ) => Array<ReactTestInstance>;
98
- getAllByPlaceholderText: (
99
- placeholder: TextMatch,
100
- options?: TextMatchOptions
101
- ) => Array<ReactTestInstance>;
102
- getAllByDisplayValue: (
103
- value: TextMatch,
104
- options?: TextMatchOptions
105
- ) => Array<ReactTestInstance>;
106
-
107
- // Unsafe aliases
108
- UNSAFE_getByType: <P>(type: React.ComponentType<P>) => ReactTestInstance;
109
- UNSAFE_getAllByType: <P>(
110
- type: React.ComponentType<P>
111
- ) => Array<ReactTestInstance>;
112
- UNSAFE_getByProps: (props: { [string]: any }) => ReactTestInstance;
113
- UNSAFE_getAllByProps: (props: { [string]: any }) => Array<ReactTestInstance>;
114
- }
115
-
116
- interface QueryByAPI {
117
92
  queryByText: (
118
93
  name: TextMatch,
119
94
  options?: TextMatchOptions
120
95
  ) => ReactTestInstance | null;
121
- queryByPlaceholderText: (
122
- placeholder: TextMatch,
123
- options?: TextMatchOptions
124
- ) => ReactTestInstance | null;
125
- queryByDisplayValue: (
126
- value: TextMatch,
127
- options?: TextMatchOptions
128
- ) => ReactTestInstance | null;
129
- queryByTestId: (testID: TextMatch) => ReactTestInstance | null;
130
- queryAllByTestId: (testID: TextMatch) => Array<ReactTestInstance> | [];
131
96
  queryAllByText: (
132
97
  text: TextMatch,
133
98
  options?: TextMatchOptions
134
99
  ) => Array<ReactTestInstance> | [];
135
- queryAllByPlaceholderText: (
136
- placeholder: TextMatch,
137
- options?: TextMatchOptions
138
- ) => Array<ReactTestInstance> | [];
139
- queryAllByDisplayValue: (
140
- value: TextMatch,
141
- options?: TextMatchOptions
142
- ) => Array<ReactTestInstance> | [];
143
-
144
- // Unsafe aliases
145
- UNSAFE_queryByType: <P>(
146
- type: React.ComponentType<P>
147
- ) => ReactTestInstance | null;
148
- UNSAFE_queryAllByType: <P>(
149
- type: React.ComponentType<P>
150
- ) => Array<ReactTestInstance> | [];
151
- UNSAFE_queryByProps: (props: { [string]: any }) => ReactTestInstance | null;
152
- UNSAFE_queryAllByProps: (props: { [string]: any }) =>
153
- | Array<ReactTestInstance>
154
- | [];
155
- }
156
-
157
- type WaitForOptions = {
158
- timeout?: number,
159
- interval?: number,
160
- onTimeout?: (error: mixed) => Error,
161
- };
162
- type WaitForFunction = <T = any>(
163
- expectation: () => T,
164
- options?: WaitForOptions
165
- ) => Promise<T>;
166
-
167
- interface FindByAPI {
168
100
  findByText: (
169
101
  text: TextMatch,
170
102
  queryOptions?: TextMatchOptions,
171
103
  waitForOptions?: WaitForOptions
172
104
  ) => FindReturn;
173
- findByPlaceholderText: (
174
- placeholder: TextMatch,
175
- queryOptions?: TextMatchOptions,
176
- waitForOptions?: WaitForOptions
177
- ) => FindReturn;
178
- findByDisplayValue: (
179
- value: TextMatch,
105
+ findAllByText: (
106
+ text: TextMatch,
180
107
  queryOptions?: TextMatchOptions,
181
108
  waitForOptions?: WaitForOptions
182
- ) => FindReturn;
109
+ ) => FindAllReturn;
110
+ }
111
+
112
+ interface ByTestIdQueries {
113
+ getByTestId: (
114
+ testID: TextMatch,
115
+ options?: TextMatchOptions
116
+ ) => ReactTestInstance;
117
+ getAllByTestId: (
118
+ testID: TextMatch,
119
+ options?: TextMatchOptions
120
+ ) => Array<ReactTestInstance>;
121
+ queryByTestId: (testID: TextMatch) => ReactTestInstance | null;
122
+ queryAllByTestId: (testID: TextMatch) => Array<ReactTestInstance> | [];
183
123
  findByTestId: (
184
124
  testID: TextMatch,
185
125
  queryOptions?: TextMatchOptions,
186
126
  waitForOptions?: WaitForOptions
187
127
  ) => FindReturn;
188
- findAllByText: (
189
- text: TextMatch,
128
+ findAllByTestId: (
129
+ testID: TextMatch,
190
130
  queryOptions?: TextMatchOptions,
191
131
  waitForOptions?: WaitForOptions
192
132
  ) => FindAllReturn;
193
- findAllByPlaceholderText: (
194
- placeholder: TextMatch,
133
+ }
134
+
135
+ interface ByDisplayValueQueries {
136
+ getByDisplayValue: (
137
+ value: TextMatch,
138
+ options?: TextMatchOptions
139
+ ) => ReactTestInstance;
140
+ getAllByDisplayValue: (
141
+ value: TextMatch,
142
+ options?: TextMatchOptions
143
+ ) => Array<ReactTestInstance>;
144
+ queryByDisplayValue: (
145
+ value: TextMatch,
146
+ options?: TextMatchOptions
147
+ ) => ReactTestInstance | null;
148
+ queryAllByDisplayValue: (
149
+ value: TextMatch,
150
+ options?: TextMatchOptions
151
+ ) => Array<ReactTestInstance> | [];
152
+ findByDisplayValue: (
153
+ value: TextMatch,
195
154
  queryOptions?: TextMatchOptions,
196
155
  waitForOptions?: WaitForOptions
197
- ) => FindAllReturn;
156
+ ) => FindReturn;
198
157
  findAllByDisplayValue: (
199
158
  value: TextMatch,
200
159
  queryOptions?: TextMatchOptions,
201
160
  waitForOptions?: WaitForOptions
202
161
  ) => FindAllReturn;
203
- findAllByTestId: (
204
- testID: TextMatch,
162
+ }
163
+
164
+ interface ByPlaceholderTextQueries {
165
+ getByPlaceholderText: (
166
+ placeholder: TextMatch,
167
+ options?: TextMatchOptions
168
+ ) => ReactTestInstance;
169
+ getAllByPlaceholderText: (
170
+ placeholder: TextMatch,
171
+ options?: TextMatchOptions
172
+ ) => Array<ReactTestInstance>;
173
+ queryByPlaceholderText: (
174
+ placeholder: TextMatch,
175
+ options?: TextMatchOptions
176
+ ) => ReactTestInstance | null;
177
+ queryAllByPlaceholderText: (
178
+ placeholder: TextMatch,
179
+ options?: TextMatchOptions
180
+ ) => Array<ReactTestInstance> | [];
181
+ findByPlaceholderText: (
182
+ placeholder: TextMatch,
183
+ queryOptions?: TextMatchOptions,
184
+ waitForOptions?: WaitForOptions
185
+ ) => FindReturn;
186
+ findAllByPlaceholderText: (
187
+ placeholder: TextMatch,
205
188
  queryOptions?: TextMatchOptions,
206
189
  waitForOptions?: WaitForOptions
207
190
  ) => FindAllReturn;
208
191
  }
209
192
 
193
+ interface UnsafeByTypeQueries {
194
+ UNSAFE_getByType: <P>(type: React.ComponentType<P>) => ReactTestInstance;
195
+ UNSAFE_getAllByType: <P>(
196
+ type: React.ComponentType<P>
197
+ ) => Array<ReactTestInstance>;
198
+ UNSAFE_queryByType: <P>(
199
+ type: React.ComponentType<P>
200
+ ) => ReactTestInstance | null;
201
+ UNSAFE_queryAllByType: <P>(
202
+ type: React.ComponentType<P>
203
+ ) => Array<ReactTestInstance> | [];
204
+ }
205
+
206
+ interface UnsafeByPropsQueries {
207
+ UNSAFE_getByProps: (props: { [string]: any }) => ReactTestInstance;
208
+ UNSAFE_getAllByProps: (props: { [string]: any }) => Array<ReactTestInstance>;
209
+ UNSAFE_queryByProps: (props: { [string]: any }) => ReactTestInstance | null;
210
+ UNSAFE_queryAllByProps: (props: { [string]: any }) =>
211
+ | Array<ReactTestInstance>
212
+ | [];
213
+ }
210
214
  interface A11yAPI {
211
215
  // Label
212
216
  getByLabelText: (matcher: TextMatch) => GetReturn;
@@ -313,7 +317,13 @@ type Debug = {
313
317
  shallow: (message?: string) => void,
314
318
  };
315
319
 
316
- type Queries = GetByAPI & QueryByAPI & FindByAPI & A11yAPI;
320
+ type Queries = ByTextQueries &
321
+ ByTestIdQueries &
322
+ ByDisplayValueQueries &
323
+ ByPlaceholderTextQueries &
324
+ UnsafeByTypeQueries &
325
+ UnsafeByPropsQueries &
326
+ A11yAPI;
317
327
 
318
328
  interface RenderAPI extends Queries {
319
329
  update(nextElement: React.Element<any>): void;
File without changes
File without changes
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/helpers/a11yAPI.ts"],"names":["matchStringValue","prop","matcher","Boolean","match","matchArrayValue","length","includes","some","e","matchObject","Object","keys","key","a11yAPI","instance","getBy","getAllBy","queryBy","queryAllBy","findBy","findAllBy"],"mappings":"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","sourcesContent":["import type { ReactTestInstance } from 'react-test-renderer';\nimport type { AccessibilityRole, AccessibilityState } from 'react-native';\nimport type { WaitForOptions } from '../waitFor';\nimport type { TextMatch } from '../matches';\nimport makeA11yQuery from './makeA11yQuery';\n\ntype AccessibilityStateKey = keyof AccessibilityState;\ntype A11yValue = {\n min?: number;\n max?: number;\n now?: number;\n text?: string;\n};\n\ntype GetReturn = ReactTestInstance;\ntype GetAllReturn = Array<ReactTestInstance>;\ntype QueryReturn = ReactTestInstance | null;\ntype QueryAllReturn = Array<ReactTestInstance>;\ntype FindReturn = Promise<GetReturn>;\ntype FindAllReturn = Promise<GetAllReturn>;\n\nexport type A11yAPI = {\n // Label\n getByLabelText: (label: TextMatch) => GetReturn;\n getAllByLabelText: (label: TextMatch) => GetAllReturn;\n queryByLabelText: (label: TextMatch) => QueryReturn;\n queryAllByLabelText: (label: TextMatch) => QueryAllReturn;\n findByLabelText: (\n label: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByLabelText: (\n label: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n\n // Hint\n getByA11yHint: (a11yHint: TextMatch) => GetReturn;\n getByHintText: (a11yHint: TextMatch) => GetReturn;\n getAllByA11yHint: (a11yHint: TextMatch) => GetAllReturn;\n getAllByHintText: (a11yHint: TextMatch) => GetAllReturn;\n queryByA11yHint: (a11yHint: TextMatch) => QueryReturn;\n queryByHintText: (a11yHint: TextMatch) => QueryReturn;\n queryAllByA11yHint: (a11yHint: TextMatch) => QueryAllReturn;\n queryAllByHintText: (a11yHint: TextMatch) => QueryAllReturn;\n findByA11yHint: (\n a11yHint: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findByHintText: (\n a11yHint: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByA11yHint: (\n a11yHint: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n findAllByHintText: (\n a11yHint: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n\n // Role\n getByRole: (role: AccessibilityRole | RegExp) => GetReturn;\n getAllByRole: (role: AccessibilityRole | RegExp) => GetAllReturn;\n queryByRole: (role: AccessibilityRole | RegExp) => QueryReturn;\n queryAllByRole: (role: AccessibilityRole | RegExp) => QueryAllReturn;\n findByRole: (\n role: AccessibilityRole,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByRole: (\n role: AccessibilityRole,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n\n // States\n getByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey | Array<AccessibilityStateKey>\n ) => GetReturn;\n getAllByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey | Array<AccessibilityStateKey>\n ) => GetAllReturn;\n queryByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey | Array<AccessibilityStateKey>\n ) => QueryReturn;\n queryAllByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey | Array<AccessibilityStateKey>\n ) => QueryAllReturn;\n findByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n\n // State\n getByA11yState: (accessibilityState: AccessibilityState) => GetReturn;\n getAllByA11yState: (accessibilityState: AccessibilityState) => GetAllReturn;\n queryByA11yState: (accessibilityState: AccessibilityState) => QueryReturn;\n queryAllByA11yState: (\n accessibilityState: AccessibilityState\n ) => QueryAllReturn;\n findByA11yState: (\n accessibilityState: AccessibilityState,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByA11yState: (\n accessibilityState: AccessibilityState,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n\n // Value\n getByA11yValue: (a11yValue: A11yValue) => GetReturn;\n getAllByA11yValue: (a11yValue: A11yValue) => GetAllReturn;\n queryByA11yValue: (a11yValue: A11yValue) => QueryReturn;\n queryAllByA11yValue: (a11yValue: A11yValue) => QueryAllReturn;\n findByA11yValue: (\n a11yValue: A11yValue,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByA11yValue: (\n a11yValue: A11yValue,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n};\n\nexport function matchStringValue(\n prop: string | undefined,\n matcher: TextMatch\n): boolean {\n if (!prop) {\n return false;\n }\n\n if (typeof matcher === 'string') {\n return prop === matcher;\n }\n\n return Boolean(prop.match(matcher));\n}\n\nexport function matchArrayValue(\n prop: Array<string> | undefined,\n matcher: string | Array<string>\n): boolean {\n if (!prop || matcher.length === 0) {\n return false;\n }\n\n if (typeof matcher === 'string') {\n return prop.includes(matcher);\n }\n\n return !matcher.some((e) => !prop.includes(e));\n}\n\nexport function matchObject<T extends Record<string, unknown>>(\n prop: T | undefined,\n matcher: T\n): boolean {\n return prop\n ? Object.keys(matcher).length !== 0 &&\n Object.keys(prop).length !== 0 &&\n !Object.keys(matcher).some((key) => prop[key] !== matcher[key])\n : false;\n}\n\nexport const a11yAPI = (instance: ReactTestInstance): A11yAPI =>\n ({\n ...makeA11yQuery(\n 'accessibilityLabel',\n {\n getBy: ['getByLabelText'],\n getAllBy: ['getAllByLabelText'],\n queryBy: ['queryByLabelText'],\n queryAllBy: ['queryAllByLabelText'],\n findBy: ['findByLabelText'],\n findAllBy: ['findAllByLabelText'],\n },\n matchStringValue\n )(instance),\n ...makeA11yQuery(\n 'accessibilityHint',\n {\n getBy: ['getByA11yHint', 'getByAccessibilityHint', 'getByHintText'],\n getAllBy: [\n 'getAllByA11yHint',\n 'getAllByAccessibilityHint',\n 'getAllByHintText',\n ],\n queryBy: [\n 'queryByA11yHint',\n 'queryByAccessibilityHint',\n 'queryByHintText',\n ],\n queryAllBy: [\n 'queryAllByA11yHint',\n 'queryAllByAccessibilityHint',\n 'queryAllByHintText',\n ],\n findBy: ['findByA11yHint', 'findByAccessibilityHint', 'findByHintText'],\n findAllBy: [\n 'findAllByA11yHint',\n 'findAllByAccessibilityHint',\n 'findAllByHintText',\n ],\n },\n matchStringValue\n )(instance),\n ...makeA11yQuery(\n 'accessibilityRole',\n {\n getBy: ['getByRole'],\n getAllBy: ['getAllByRole'],\n queryBy: ['queryByRole'],\n queryAllBy: ['queryAllByRole'],\n findBy: ['findByRole'],\n findAllBy: ['findAllByRole'],\n },\n matchStringValue\n )(instance),\n ...makeA11yQuery(\n 'accessibilityStates',\n {\n getBy: ['getByA11yStates', 'getByAccessibilityStates'],\n getAllBy: ['getAllByA11yStates', 'getAllByAccessibilityStates'],\n queryBy: ['queryByA11yStates', 'queryByAccessibilityStates'],\n queryAllBy: ['queryAllByA11yStates', 'queryAllByAccessibilityStates'],\n findBy: ['findByA11yStates', 'findByAccessibilityStates'],\n findAllBy: ['findAllByA11yStates', 'findAllByAccessibilityStates'],\n },\n matchArrayValue\n )(instance),\n ...makeA11yQuery(\n 'accessibilityState',\n {\n getBy: ['getByA11yState', 'getByAccessibilityState'],\n getAllBy: ['getAllByA11yState', 'getAllByAccessibilityState'],\n queryBy: ['queryByA11yState', 'queryByAccessibilityState'],\n queryAllBy: ['queryAllByA11yState', 'queryAllByAccessibilityState'],\n findBy: ['findByA11yState', 'findByAccessibilityState'],\n findAllBy: ['findAllByA11yState', 'findAllByAccessibilityState'],\n },\n matchObject\n )(instance),\n ...makeA11yQuery(\n 'accessibilityValue',\n {\n getBy: ['getByA11yValue', 'getByAccessibilityValue'],\n getAllBy: ['getAllByA11yValue', 'getAllByAccessibilityValue'],\n queryBy: ['queryByA11yValue', 'queryByAccessibilityValue'],\n queryAllBy: ['queryAllByA11yValue', 'queryAllByAccessibilityValue'],\n findBy: ['findByA11yValue', 'findByAccessibilityValue'],\n findAllBy: ['findAllByA11yValue', 'findAllByAccessibilityValue'],\n },\n matchObject\n )(instance),\n } as any);\n"],"file":"a11yAPI.js"}
1
+ {"version":3,"sources":["../../src/queries/a11yAPI.ts"],"names":["matchStringValue","prop","matcher","Boolean","match","matchArrayValue","length","includes","some","e","matchObject","Object","keys","key","a11yAPI","instance","getBy","getAllBy","queryBy","queryAllBy","findBy","findAllBy"],"mappings":"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","sourcesContent":["import type { ReactTestInstance } from 'react-test-renderer';\nimport type { AccessibilityRole, AccessibilityState } from 'react-native';\nimport type { WaitForOptions } from '../waitFor';\nimport type { TextMatch } from '../matches';\nimport makeA11yQuery from './makeA11yQuery';\n\ntype AccessibilityStateKey = keyof AccessibilityState;\ntype A11yValue = {\n min?: number;\n max?: number;\n now?: number;\n text?: string;\n};\n\ntype GetReturn = ReactTestInstance;\ntype GetAllReturn = Array<ReactTestInstance>;\ntype QueryReturn = ReactTestInstance | null;\ntype QueryAllReturn = Array<ReactTestInstance>;\ntype FindReturn = Promise<GetReturn>;\ntype FindAllReturn = Promise<GetAllReturn>;\n\nexport type A11yAPI = {\n // Label\n getByLabelText: (label: TextMatch) => GetReturn;\n getAllByLabelText: (label: TextMatch) => GetAllReturn;\n queryByLabelText: (label: TextMatch) => QueryReturn;\n queryAllByLabelText: (label: TextMatch) => QueryAllReturn;\n findByLabelText: (\n label: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByLabelText: (\n label: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n\n // Hint\n getByA11yHint: (a11yHint: TextMatch) => GetReturn;\n getByHintText: (a11yHint: TextMatch) => GetReturn;\n getAllByA11yHint: (a11yHint: TextMatch) => GetAllReturn;\n getAllByHintText: (a11yHint: TextMatch) => GetAllReturn;\n queryByA11yHint: (a11yHint: TextMatch) => QueryReturn;\n queryByHintText: (a11yHint: TextMatch) => QueryReturn;\n queryAllByA11yHint: (a11yHint: TextMatch) => QueryAllReturn;\n queryAllByHintText: (a11yHint: TextMatch) => QueryAllReturn;\n findByA11yHint: (\n a11yHint: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findByHintText: (\n a11yHint: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByA11yHint: (\n a11yHint: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n findAllByHintText: (\n a11yHint: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n\n // Role\n getByRole: (role: AccessibilityRole | RegExp) => GetReturn;\n getAllByRole: (role: AccessibilityRole | RegExp) => GetAllReturn;\n queryByRole: (role: AccessibilityRole | RegExp) => QueryReturn;\n queryAllByRole: (role: AccessibilityRole | RegExp) => QueryAllReturn;\n findByRole: (\n role: AccessibilityRole,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByRole: (\n role: AccessibilityRole,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n\n // States\n getByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey | Array<AccessibilityStateKey>\n ) => GetReturn;\n getAllByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey | Array<AccessibilityStateKey>\n ) => GetAllReturn;\n queryByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey | Array<AccessibilityStateKey>\n ) => QueryReturn;\n queryAllByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey | Array<AccessibilityStateKey>\n ) => QueryAllReturn;\n findByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n\n // State\n getByA11yState: (accessibilityState: AccessibilityState) => GetReturn;\n getAllByA11yState: (accessibilityState: AccessibilityState) => GetAllReturn;\n queryByA11yState: (accessibilityState: AccessibilityState) => QueryReturn;\n queryAllByA11yState: (\n accessibilityState: AccessibilityState\n ) => QueryAllReturn;\n findByA11yState: (\n accessibilityState: AccessibilityState,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByA11yState: (\n accessibilityState: AccessibilityState,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n\n // Value\n getByA11yValue: (a11yValue: A11yValue) => GetReturn;\n getAllByA11yValue: (a11yValue: A11yValue) => GetAllReturn;\n queryByA11yValue: (a11yValue: A11yValue) => QueryReturn;\n queryAllByA11yValue: (a11yValue: A11yValue) => QueryAllReturn;\n findByA11yValue: (\n a11yValue: A11yValue,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByA11yValue: (\n a11yValue: A11yValue,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n};\n\nexport function matchStringValue(\n prop: string | undefined,\n matcher: TextMatch\n): boolean {\n if (!prop) {\n return false;\n }\n\n if (typeof matcher === 'string') {\n return prop === matcher;\n }\n\n return Boolean(prop.match(matcher));\n}\n\nexport function matchArrayValue(\n prop: Array<string> | undefined,\n matcher: string | Array<string>\n): boolean {\n if (!prop || matcher.length === 0) {\n return false;\n }\n\n if (typeof matcher === 'string') {\n return prop.includes(matcher);\n }\n\n return !matcher.some((e) => !prop.includes(e));\n}\n\nexport function matchObject<T extends Record<string, unknown>>(\n prop: T | undefined,\n matcher: T\n): boolean {\n return prop\n ? Object.keys(matcher).length !== 0 &&\n Object.keys(prop).length !== 0 &&\n !Object.keys(matcher).some((key) => prop[key] !== matcher[key])\n : false;\n}\n\nexport const a11yAPI = (instance: ReactTestInstance): A11yAPI =>\n ({\n ...makeA11yQuery(\n 'accessibilityLabel',\n {\n getBy: ['getByLabelText'],\n getAllBy: ['getAllByLabelText'],\n queryBy: ['queryByLabelText'],\n queryAllBy: ['queryAllByLabelText'],\n findBy: ['findByLabelText'],\n findAllBy: ['findAllByLabelText'],\n },\n matchStringValue\n )(instance),\n ...makeA11yQuery(\n 'accessibilityHint',\n {\n getBy: ['getByA11yHint', 'getByAccessibilityHint', 'getByHintText'],\n getAllBy: [\n 'getAllByA11yHint',\n 'getAllByAccessibilityHint',\n 'getAllByHintText',\n ],\n queryBy: [\n 'queryByA11yHint',\n 'queryByAccessibilityHint',\n 'queryByHintText',\n ],\n queryAllBy: [\n 'queryAllByA11yHint',\n 'queryAllByAccessibilityHint',\n 'queryAllByHintText',\n ],\n findBy: ['findByA11yHint', 'findByAccessibilityHint', 'findByHintText'],\n findAllBy: [\n 'findAllByA11yHint',\n 'findAllByAccessibilityHint',\n 'findAllByHintText',\n ],\n },\n matchStringValue\n )(instance),\n ...makeA11yQuery(\n 'accessibilityRole',\n {\n getBy: ['getByRole'],\n getAllBy: ['getAllByRole'],\n queryBy: ['queryByRole'],\n queryAllBy: ['queryAllByRole'],\n findBy: ['findByRole'],\n findAllBy: ['findAllByRole'],\n },\n matchStringValue\n )(instance),\n ...makeA11yQuery(\n 'accessibilityStates',\n {\n getBy: ['getByA11yStates', 'getByAccessibilityStates'],\n getAllBy: ['getAllByA11yStates', 'getAllByAccessibilityStates'],\n queryBy: ['queryByA11yStates', 'queryByAccessibilityStates'],\n queryAllBy: ['queryAllByA11yStates', 'queryAllByAccessibilityStates'],\n findBy: ['findByA11yStates', 'findByAccessibilityStates'],\n findAllBy: ['findAllByA11yStates', 'findAllByAccessibilityStates'],\n },\n matchArrayValue\n )(instance),\n ...makeA11yQuery(\n 'accessibilityState',\n {\n getBy: ['getByA11yState', 'getByAccessibilityState'],\n getAllBy: ['getAllByA11yState', 'getAllByAccessibilityState'],\n queryBy: ['queryByA11yState', 'queryByAccessibilityState'],\n queryAllBy: ['queryAllByA11yState', 'queryAllByAccessibilityState'],\n findBy: ['findByA11yState', 'findByAccessibilityState'],\n findAllBy: ['findAllByA11yState', 'findAllByAccessibilityState'],\n },\n matchObject\n )(instance),\n ...makeA11yQuery(\n 'accessibilityValue',\n {\n getBy: ['getByA11yValue', 'getByAccessibilityValue'],\n getAllBy: ['getAllByA11yValue', 'getAllByAccessibilityValue'],\n queryBy: ['queryByA11yValue', 'queryByAccessibilityValue'],\n queryAllBy: ['queryAllByA11yValue', 'queryAllByAccessibilityValue'],\n findBy: ['findByA11yValue', 'findByAccessibilityValue'],\n findAllBy: ['findAllByA11yValue', 'findAllByAccessibilityValue'],\n },\n matchObject\n )(instance),\n } as any);\n"],"file":"a11yAPI.js"}
@@ -0,0 +1,13 @@
1
+ import type { ReactTestInstance } from 'react-test-renderer';
2
+ import { TextMatch } from '../matches';
3
+ import type { FindAllByQuery, FindByQuery, GetAllByQuery, GetByQuery, QueryAllByQuery, QueryByQuery } from './makeQueries';
4
+ import type { TextMatchOptions } from './text';
5
+ export declare type ByDisplayValueQueries = {
6
+ getByDisplayValue: GetByQuery<TextMatch, TextMatchOptions>;
7
+ getAllByDisplayValue: GetAllByQuery<TextMatch, TextMatchOptions>;
8
+ queryByDisplayValue: QueryByQuery<TextMatch, TextMatchOptions>;
9
+ queryAllByDisplayValue: QueryAllByQuery<TextMatch, TextMatchOptions>;
10
+ findByDisplayValue: FindByQuery<TextMatch, TextMatchOptions>;
11
+ findAllByDisplayValue: FindAllByQuery<TextMatch, TextMatchOptions>;
12
+ };
13
+ export declare const bindByDisplayValueQueries: (instance: ReactTestInstance) => ByDisplayValueQueries;
@@ -3,15 +3,15 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.queryByDisplayValue = exports.queryAllByDisplayValue = exports.getByDisplayValue = exports.getAllByDisplayValue = exports.findByDisplayValue = exports.findAllByDisplayValue = void 0;
6
+ exports.bindByDisplayValueQueries = void 0;
7
7
 
8
- var _matches = require("../matches");
8
+ var _errors = require("../helpers/errors");
9
9
 
10
- var _makeQueries = require("./makeQueries");
10
+ var _filterNodeByType = require("../helpers/filterNodeByType");
11
11
 
12
- var _filterNodeByType = require("./filterNodeByType");
12
+ var _matches = require("../matches");
13
13
 
14
- var _errors = require("./errors");
14
+ var _makeQueries = require("./makeQueries");
15
15
 
16
16
  const getTextInputNodeByDisplayValue = (node, value, options = {}) => {
17
17
  try {
@@ -34,22 +34,27 @@ const queryAllByDisplayValue = instance => function queryAllByDisplayValueFn(dis
34
34
  return instance.findAll(node => getTextInputNodeByDisplayValue(node, displayValue, queryOptions));
35
35
  };
36
36
 
37
- exports.queryAllByDisplayValue = queryAllByDisplayValue;
38
-
39
37
  const getMultipleError = displayValue => `Found multiple elements with display value: ${String(displayValue)} `;
40
38
 
41
39
  const getMissingError = displayValue => `Unable to find an element with displayValue: ${String(displayValue)}`;
42
40
 
43
41
  const {
44
- getBy: getByDisplayValue,
45
- getAllBy: getAllByDisplayValue,
46
- queryBy: queryByDisplayValue,
47
- findBy: findByDisplayValue,
48
- findAllBy: findAllByDisplayValue
42
+ getBy,
43
+ getAllBy,
44
+ queryBy,
45
+ queryAllBy,
46
+ findBy,
47
+ findAllBy
49
48
  } = (0, _makeQueries.makeQueries)(queryAllByDisplayValue, getMissingError, getMultipleError);
50
- exports.findAllByDisplayValue = findAllByDisplayValue;
51
- exports.findByDisplayValue = findByDisplayValue;
52
- exports.queryByDisplayValue = queryByDisplayValue;
53
- exports.getAllByDisplayValue = getAllByDisplayValue;
54
- exports.getByDisplayValue = getByDisplayValue;
55
- //# sourceMappingURL=byDisplayValue.js.map
49
+
50
+ const bindByDisplayValueQueries = instance => ({
51
+ getByDisplayValue: getBy(instance),
52
+ getAllByDisplayValue: getAllBy(instance),
53
+ queryByDisplayValue: queryBy(instance),
54
+ queryAllByDisplayValue: queryAllBy(instance),
55
+ findByDisplayValue: findBy(instance),
56
+ findAllByDisplayValue: findAllBy(instance)
57
+ });
58
+
59
+ exports.bindByDisplayValueQueries = bindByDisplayValueQueries;
60
+ //# sourceMappingURL=displayValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/queries/displayValue.ts"],"names":["getTextInputNodeByDisplayValue","node","value","options","TextInput","require","exact","normalizer","nodeValue","props","undefined","defaultValue","error","queryAllByDisplayValue","instance","queryAllByDisplayValueFn","displayValue","queryOptions","findAll","getMultipleError","String","getMissingError","getBy","getAllBy","queryBy","queryAllBy","findBy","findAllBy","bindByDisplayValueQueries","getByDisplayValue","getAllByDisplayValue","queryByDisplayValue","findByDisplayValue","findAllByDisplayValue"],"mappings":";;;;;;;AACA;;AACA;;AACA;;AACA;;AAWA,MAAMA,8BAA8B,GAAG,CACrCC,IADqC,EAErCC,KAFqC,EAGrCC,OAAyB,GAAG,EAHS,KAIlC;AACH,MAAI;AACF,UAAM;AAAEC,MAAAA;AAAF,QAAgBC,OAAO,CAAC,cAAD,CAA7B;;AACA,UAAM;AAAEC,MAAAA,KAAF;AAASC,MAAAA;AAAT,QAAwBJ,OAA9B;AACA,UAAMK,SAAS,GACbP,IAAI,CAACQ,KAAL,CAAWP,KAAX,KAAqBQ,SAArB,GACIT,IAAI,CAACQ,KAAL,CAAWP,KADf,GAEID,IAAI,CAACQ,KAAL,CAAWE,YAHjB;AAIA,WACE,wCAAiBV,IAAjB,EAAuBG,SAAvB,KACA,sBAAQF,KAAR,EAAeM,SAAf,EAA0BD,UAA1B,EAAsCD,KAAtC,CAFF;AAID,GAXD,CAWE,OAAOM,KAAP,EAAc;AACd,UAAM,4CAA+BA,KAA/B,CAAN;AACD;AACF,CAnBD;;AAqBA,MAAMC,sBAAsB,GAC1BC,QAD6B,IAM7B,SAASC,wBAAT,CAAkCC,YAAlC,EAAgDC,YAAhD,EAA8D;AAC5D,SAAOH,QAAQ,CAACI,OAAT,CAAkBjB,IAAD,IACtBD,8BAA8B,CAACC,IAAD,EAAOe,YAAP,EAAqBC,YAArB,CADzB,CAAP;AAGD,CAVH;;AAYA,MAAME,gBAAgB,GAAIH,YAAD,IACtB,+CAA8CI,MAAM,CAACJ,YAAD,CAAe,GADtE;;AAEA,MAAMK,eAAe,GAAIL,YAAD,IACrB,gDAA+CI,MAAM,CAACJ,YAAD,CAAe,EADvE;;AAGA,MAAM;AAAEM,EAAAA,KAAF;AAASC,EAAAA,QAAT;AAAmBC,EAAAA,OAAnB;AAA4BC,EAAAA,UAA5B;AAAwCC,EAAAA,MAAxC;AAAgDC,EAAAA;AAAhD,IAA8D,8BAClEd,sBADkE,EAElEQ,eAFkE,EAGlEF,gBAHkE,CAApE;;AAeO,MAAMS,yBAAyB,GACpCd,QADuC,KAEZ;AAC3Be,EAAAA,iBAAiB,EAAEP,KAAK,CAACR,QAAD,CADG;AAE3BgB,EAAAA,oBAAoB,EAAEP,QAAQ,CAACT,QAAD,CAFH;AAG3BiB,EAAAA,mBAAmB,EAAEP,OAAO,CAACV,QAAD,CAHD;AAI3BD,EAAAA,sBAAsB,EAAEY,UAAU,CAACX,QAAD,CAJP;AAK3BkB,EAAAA,kBAAkB,EAAEN,MAAM,CAACZ,QAAD,CALC;AAM3BmB,EAAAA,qBAAqB,EAAEN,SAAS,CAACb,QAAD;AANL,CAFY,CAAlC","sourcesContent":["import type { ReactTestInstance } from 'react-test-renderer';\nimport { createLibraryNotSupportedError } from '../helpers/errors';\nimport { filterNodeByType } from '../helpers/filterNodeByType';\nimport { matches, TextMatch } from '../matches';\nimport { makeQueries } from './makeQueries';\nimport type {\n FindAllByQuery,\n FindByQuery,\n GetAllByQuery,\n GetByQuery,\n QueryAllByQuery,\n QueryByQuery,\n} from './makeQueries';\nimport type { TextMatchOptions } from './text';\n\nconst getTextInputNodeByDisplayValue = (\n node: ReactTestInstance,\n value: TextMatch,\n options: TextMatchOptions = {}\n) => {\n try {\n const { TextInput } = require('react-native');\n const { exact, normalizer } = options;\n const nodeValue =\n node.props.value !== undefined\n ? node.props.value\n : node.props.defaultValue;\n return (\n filterNodeByType(node, TextInput) &&\n matches(value, nodeValue, normalizer, exact)\n );\n } catch (error) {\n throw createLibraryNotSupportedError(error);\n }\n};\n\nconst queryAllByDisplayValue = (\n instance: ReactTestInstance\n): ((\n displayValue: TextMatch,\n queryOptions?: TextMatchOptions\n) => Array<ReactTestInstance>) =>\n function queryAllByDisplayValueFn(displayValue, queryOptions) {\n return instance.findAll((node) =>\n getTextInputNodeByDisplayValue(node, displayValue, queryOptions)\n );\n };\n\nconst getMultipleError = (displayValue: TextMatch) =>\n `Found multiple elements with display value: ${String(displayValue)} `;\nconst getMissingError = (displayValue: TextMatch) =>\n `Unable to find an element with displayValue: ${String(displayValue)}`;\n\nconst { getBy, getAllBy, queryBy, queryAllBy, findBy, findAllBy } = makeQueries(\n queryAllByDisplayValue,\n getMissingError,\n getMultipleError\n);\n\nexport type ByDisplayValueQueries = {\n getByDisplayValue: GetByQuery<TextMatch, TextMatchOptions>;\n getAllByDisplayValue: GetAllByQuery<TextMatch, TextMatchOptions>;\n queryByDisplayValue: QueryByQuery<TextMatch, TextMatchOptions>;\n queryAllByDisplayValue: QueryAllByQuery<TextMatch, TextMatchOptions>;\n findByDisplayValue: FindByQuery<TextMatch, TextMatchOptions>;\n findAllByDisplayValue: FindAllByQuery<TextMatch, TextMatchOptions>;\n};\n\nexport const bindByDisplayValueQueries = (\n instance: ReactTestInstance\n): ByDisplayValueQueries => ({\n getByDisplayValue: getBy(instance),\n getAllByDisplayValue: getAllBy(instance),\n queryByDisplayValue: queryBy(instance),\n queryAllByDisplayValue: queryAllBy(instance),\n findByDisplayValue: findBy(instance),\n findAllByDisplayValue: findAllBy(instance),\n});\n"],"file":"displayValue.js"}
File without changes
@@ -7,7 +7,7 @@ exports.default = void 0;
7
7
 
8
8
  var _waitFor = _interopRequireDefault(require("../waitFor"));
9
9
 
10
- var _errors = require("./errors");
10
+ var _errors = require("../helpers/errors");
11
11
 
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
13
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/helpers/makeA11yQuery.ts"],"names":["isNodeValid","node","type","makeAliases","aliases","query","map","alias","reduce","acc","makeA11yQuery","name","queryNames","matcherFn","instance","getBy","matcher","find","props","error","ErrorWithStack","getAllBy","results","findAll","length","Error","queryBy","queryAllBy","findBy","waitForOptions","findAllBy"],"mappings":"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","sourcesContent":["import type { ReactTestInstance } from 'react-test-renderer';\nimport waitFor from '../waitFor';\nimport type { WaitForOptions } from '../waitFor';\nimport {\n ErrorWithStack,\n prepareErrorMessage,\n createQueryByError,\n} from './errors';\n\nfunction isNodeValid(node: ReactTestInstance) {\n return typeof node.type === 'string';\n}\n\nfunction makeAliases(aliases: Array<string>, query: Function) {\n return aliases\n .map((alias) => ({ [alias]: query }))\n .reduce((acc, query) => ({ ...acc, ...query }), {});\n}\n\ntype QueryNames = {\n getBy: Array<string>;\n getAllBy: Array<string>;\n queryBy: Array<string>;\n queryAllBy: Array<string>;\n findBy: Array<string>;\n findAllBy: Array<string>;\n};\n\nconst makeA11yQuery = <P extends unknown, M extends unknown>(\n name: string,\n queryNames: QueryNames,\n matcherFn: (prop: P, value: M) => boolean\n) => (instance: ReactTestInstance) => {\n const getBy = (matcher: M) => {\n try {\n return instance.find(\n (node) => isNodeValid(node) && matcherFn(node.props[name], matcher)\n );\n } catch (error) {\n throw new ErrorWithStack(\n prepareErrorMessage(error, name, matcher),\n getBy\n );\n }\n };\n\n const getAllBy = (matcher: M) => {\n const results = instance.findAll(\n (node) => isNodeValid(node) && matcherFn(node.props[name], matcher)\n );\n\n if (results.length === 0) {\n throw new ErrorWithStack(\n prepareErrorMessage(new Error('No instances found'), name, matcher),\n getAllBy\n );\n }\n\n return results;\n };\n\n const queryBy = (matcher: M) => {\n try {\n return getBy(matcher);\n } catch (error) {\n return createQueryByError(error, queryBy);\n }\n };\n\n const queryAllBy = (matcher: M) => {\n try {\n return getAllBy(matcher);\n } catch (error) {\n return [];\n }\n };\n\n const findBy = (matcher: M, waitForOptions?: WaitForOptions) => {\n return waitFor(() => getBy(matcher), waitForOptions);\n };\n\n const findAllBy = (matcher: M, waitForOptions?: WaitForOptions) => {\n return waitFor(() => getAllBy(matcher), waitForOptions);\n };\n\n return {\n ...makeAliases(queryNames.getBy, getBy),\n ...makeAliases(queryNames.getAllBy, getAllBy),\n ...makeAliases(queryNames.queryBy, queryBy),\n ...makeAliases(queryNames.queryAllBy, queryAllBy),\n ...makeAliases(queryNames.findBy, findBy),\n ...makeAliases(queryNames.findAllBy, findAllBy),\n };\n};\n\nexport default makeA11yQuery;\n"],"file":"makeA11yQuery.js"}
1
+ {"version":3,"sources":["../../src/queries/makeA11yQuery.ts"],"names":["isNodeValid","node","type","makeAliases","aliases","query","map","alias","reduce","acc","makeA11yQuery","name","queryNames","matcherFn","instance","getBy","matcher","find","props","error","ErrorWithStack","getAllBy","results","findAll","length","Error","queryBy","queryAllBy","findBy","waitForOptions","findAllBy"],"mappings":"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","sourcesContent":["import type { ReactTestInstance } from 'react-test-renderer';\nimport waitFor from '../waitFor';\nimport type { WaitForOptions } from '../waitFor';\nimport {\n ErrorWithStack,\n prepareErrorMessage,\n createQueryByError,\n} from '../helpers/errors';\n\nfunction isNodeValid(node: ReactTestInstance) {\n return typeof node.type === 'string';\n}\n\nfunction makeAliases(aliases: Array<string>, query: Function) {\n return aliases\n .map((alias) => ({ [alias]: query }))\n .reduce((acc, query) => ({ ...acc, ...query }), {});\n}\n\ntype QueryNames = {\n getBy: Array<string>;\n getAllBy: Array<string>;\n queryBy: Array<string>;\n queryAllBy: Array<string>;\n findBy: Array<string>;\n findAllBy: Array<string>;\n};\n\nconst makeA11yQuery = <P extends unknown, M extends unknown>(\n name: string,\n queryNames: QueryNames,\n matcherFn: (prop: P, value: M) => boolean\n) => (instance: ReactTestInstance) => {\n const getBy = (matcher: M) => {\n try {\n return instance.find(\n (node) => isNodeValid(node) && matcherFn(node.props[name], matcher)\n );\n } catch (error) {\n throw new ErrorWithStack(\n prepareErrorMessage(error, name, matcher),\n getBy\n );\n }\n };\n\n const getAllBy = (matcher: M) => {\n const results = instance.findAll(\n (node) => isNodeValid(node) && matcherFn(node.props[name], matcher)\n );\n\n if (results.length === 0) {\n throw new ErrorWithStack(\n prepareErrorMessage(new Error('No instances found'), name, matcher),\n getAllBy\n );\n }\n\n return results;\n };\n\n const queryBy = (matcher: M) => {\n try {\n return getBy(matcher);\n } catch (error) {\n return createQueryByError(error, queryBy);\n }\n };\n\n const queryAllBy = (matcher: M) => {\n try {\n return getAllBy(matcher);\n } catch (error) {\n return [];\n }\n };\n\n const findBy = (matcher: M, waitForOptions?: WaitForOptions) => {\n return waitFor(() => getBy(matcher), waitForOptions);\n };\n\n const findAllBy = (matcher: M, waitForOptions?: WaitForOptions) => {\n return waitFor(() => getAllBy(matcher), waitForOptions);\n };\n\n return {\n ...makeAliases(queryNames.getBy, getBy),\n ...makeAliases(queryNames.getAllBy, getAllBy),\n ...makeAliases(queryNames.queryBy, queryBy),\n ...makeAliases(queryNames.queryAllBy, queryAllBy),\n ...makeAliases(queryNames.findBy, findBy),\n ...makeAliases(queryNames.findAllBy, findAllBy),\n };\n};\n\nexport default makeA11yQuery;\n"],"file":"makeA11yQuery.js"}
@@ -0,0 +1,19 @@
1
+ import type { ReactTestInstance } from 'react-test-renderer';
2
+ import type { WaitForOptions } from '../waitFor';
3
+ export declare type GetByQuery<Predicate, Options> = (predicate: Predicate, options?: Options) => ReactTestInstance;
4
+ export declare type GetAllByQuery<Predicate, Options> = (predicate: Predicate, options?: Options) => ReactTestInstance[];
5
+ export declare type QueryByQuery<Predicate, Options> = (predicate: Predicate, options?: Options) => ReactTestInstance | null;
6
+ export declare type QueryAllByQuery<Predicate, Options> = (predicate: Predicate, options?: Options) => ReactTestInstance[];
7
+ export declare type FindByQuery<Predicate, Options> = (predicate: Predicate, options?: Options & WaitForOptions, waitForOptions?: WaitForOptions) => Promise<ReactTestInstance>;
8
+ export declare type FindAllByQuery<Predicate, Options> = (predicate: Predicate, options?: Options & WaitForOptions, waitForOptions?: WaitForOptions) => Promise<ReactTestInstance[]>;
9
+ declare type UnboundQuery<Query> = (instance: ReactTestInstance) => Query;
10
+ export declare type UnboundQueries<Predicate, Options> = {
11
+ getBy: UnboundQuery<GetByQuery<Predicate, Options>>;
12
+ getAllBy: UnboundQuery<GetAllByQuery<Predicate, Options>>;
13
+ queryBy: UnboundQuery<QueryByQuery<Predicate, Options>>;
14
+ queryAllBy: UnboundQuery<QueryAllByQuery<Predicate, Options>>;
15
+ findBy: UnboundQuery<FindByQuery<Predicate, Options>>;
16
+ findAllBy: UnboundQuery<FindAllByQuery<Predicate, Options>>;
17
+ };
18
+ export declare function makeQueries<Predicate, Options>(queryAllByQuery: UnboundQuery<QueryAllByQuery<Predicate, Options>>, getMissingError: (predicate: Predicate) => string, getMultipleError: (predicate: Predicate) => string): UnboundQueries<Predicate, Options>;
19
+ export {};
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.makeQueries = makeQueries;
7
7
 
8
- var _waitFor = _interopRequireDefault(require("../waitFor"));
8
+ var _errors = require("../helpers/errors");
9
9
 
10
- var _errors = require("./errors");
10
+ var _waitFor = _interopRequireDefault(require("../waitFor"));
11
11
 
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
13
 
@@ -39,11 +39,11 @@ Example:
39
39
 
40
40
  function makeQueries(queryAllByQuery, getMissingError, getMultipleError) {
41
41
  function getAllByQuery(instance) {
42
- return function getAllFn(args, queryOptions) {
43
- const results = queryAllByQuery(instance)(args, queryOptions);
42
+ return function getAllFn(predicate, options) {
43
+ const results = queryAllByQuery(instance)(predicate, options);
44
44
 
45
45
  if (results.length === 0) {
46
- throw new _errors.ErrorWithStack(getMissingError(args), getAllFn);
46
+ throw new _errors.ErrorWithStack(getMissingError(predicate), getAllFn);
47
47
  }
48
48
 
49
49
  return results;
@@ -51,11 +51,11 @@ function makeQueries(queryAllByQuery, getMissingError, getMultipleError) {
51
51
  }
52
52
 
53
53
  function queryByQuery(instance) {
54
- return function singleQueryFn(args, queryOptions) {
55
- const results = queryAllByQuery(instance)(args, queryOptions);
54
+ return function singleQueryFn(predicate, options) {
55
+ const results = queryAllByQuery(instance)(predicate, options);
56
56
 
57
57
  if (results.length > 1) {
58
- throw new _errors.ErrorWithStack(getMultipleError(args), singleQueryFn);
58
+ throw new _errors.ErrorWithStack(getMultipleError(predicate), singleQueryFn);
59
59
  }
60
60
 
61
61
  if (results.length === 0) {
@@ -67,15 +67,15 @@ function makeQueries(queryAllByQuery, getMissingError, getMultipleError) {
67
67
  }
68
68
 
69
69
  function getByQuery(instance) {
70
- return function getFn(args, queryOptions) {
71
- const results = queryAllByQuery(instance)(args, queryOptions);
70
+ return function getFn(predicate, options) {
71
+ const results = queryAllByQuery(instance)(predicate, options);
72
72
 
73
73
  if (results.length > 1) {
74
- throw new _errors.ErrorWithStack(getMultipleError(args), getFn);
74
+ throw new _errors.ErrorWithStack(getMultipleError(predicate), getFn);
75
75
  }
76
76
 
77
77
  if (results.length === 0) {
78
- throw new _errors.ErrorWithStack(getMissingError(args), getFn);
78
+ throw new _errors.ErrorWithStack(getMissingError(predicate), getFn);
79
79
  }
80
80
 
81
81
  return results[0];
@@ -83,18 +83,18 @@ function makeQueries(queryAllByQuery, getMissingError, getMultipleError) {
83
83
  }
84
84
 
85
85
  function findAllByQuery(instance) {
86
- return function findAllFn(args, queryOptions, waitForOptions = {}) {
86
+ return function findAllFn(predicate, queryOptions, waitForOptions = {}) {
87
87
  const deprecatedWaitForOptions = extractDeprecatedWaitForOptionUsage(queryOptions);
88
- return (0, _waitFor.default)(() => getAllByQuery(instance)(args, queryOptions), { ...deprecatedWaitForOptions,
88
+ return (0, _waitFor.default)(() => getAllByQuery(instance)(predicate, queryOptions), { ...deprecatedWaitForOptions,
89
89
  ...waitForOptions
90
90
  });
91
91
  };
92
92
  }
93
93
 
94
94
  function findByQuery(instance) {
95
- return function findFn(args, queryOptions, waitForOptions = {}) {
95
+ return function findFn(predicate, queryOptions, waitForOptions = {}) {
96
96
  const deprecatedWaitForOptions = extractDeprecatedWaitForOptionUsage(queryOptions);
97
- return (0, _waitFor.default)(() => getByQuery(instance)(args, queryOptions), { ...deprecatedWaitForOptions,
97
+ return (0, _waitFor.default)(() => getByQuery(instance)(predicate, queryOptions), { ...deprecatedWaitForOptions,
98
98
  ...waitForOptions
99
99
  });
100
100
  };
@@ -104,6 +104,7 @@ function makeQueries(queryAllByQuery, getMissingError, getMultipleError) {
104
104
  getBy: getByQuery,
105
105
  getAllBy: getAllByQuery,
106
106
  queryBy: queryByQuery,
107
+ queryAllBy: queryAllByQuery,
107
108
  findBy: findByQuery,
108
109
  findAllBy: findAllByQuery
109
110
  };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/queries/makeQueries.ts"],"names":["deprecatedKeys","extractDeprecatedWaitForOptionUsage","queryOptions","waitForOptions","timeout","interval","stackTraceError","forEach","key","option","console","warn","toString","makeQueries","queryAllByQuery","getMissingError","getMultipleError","getAllByQuery","instance","getAllFn","predicate","options","results","length","ErrorWithStack","queryByQuery","singleQueryFn","getByQuery","getFn","findAllByQuery","findAllFn","deprecatedWaitForOptions","findByQuery","findFn","getBy","getAllBy","queryBy","queryAllBy","findBy","findAllBy"],"mappings":"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","sourcesContent":["import type { ReactTestInstance } from 'react-test-renderer';\nimport { ErrorWithStack } from '../helpers/errors';\nimport waitFor from '../waitFor';\nimport type { WaitForOptions } from '../waitFor';\n\nexport type GetByQuery<Predicate, Options> = (\n predicate: Predicate,\n options?: Options\n) => ReactTestInstance;\n\nexport type GetAllByQuery<Predicate, Options> = (\n predicate: Predicate,\n options?: Options\n) => ReactTestInstance[];\n\nexport type QueryByQuery<Predicate, Options> = (\n predicate: Predicate,\n options?: Options\n) => ReactTestInstance | null;\n\nexport type QueryAllByQuery<Predicate, Options> = (\n predicate: Predicate,\n options?: Options\n) => ReactTestInstance[];\n\nexport type FindByQuery<Predicate, Options> = (\n predicate: Predicate,\n options?: Options & WaitForOptions,\n waitForOptions?: WaitForOptions\n) => Promise<ReactTestInstance>;\n\nexport type FindAllByQuery<Predicate, Options> = (\n predicate: Predicate,\n options?: Options & WaitForOptions,\n waitForOptions?: WaitForOptions\n) => Promise<ReactTestInstance[]>;\n\ntype UnboundQuery<Query> = (instance: ReactTestInstance) => Query;\n\nexport type UnboundQueries<Predicate, Options> = {\n getBy: UnboundQuery<GetByQuery<Predicate, Options>>;\n getAllBy: UnboundQuery<GetAllByQuery<Predicate, Options>>;\n queryBy: UnboundQuery<QueryByQuery<Predicate, Options>>;\n queryAllBy: UnboundQuery<QueryAllByQuery<Predicate, Options>>;\n findBy: UnboundQuery<FindByQuery<Predicate, Options>>;\n findAllBy: UnboundQuery<FindAllByQuery<Predicate, Options>>;\n};\n\n// The WaitForOptions has been moved to the second option param of findBy* methods with the adding of TextMatchOptions\n// To make the migration easier and avoid a breaking change, keep reading this options from the first param but warn\nconst deprecatedKeys: (keyof WaitForOptions)[] = [\n 'timeout',\n 'interval',\n 'stackTraceError',\n];\nconst extractDeprecatedWaitForOptionUsage = (queryOptions?: WaitForOptions) => {\n if (queryOptions) {\n const waitForOptions: WaitForOptions = {\n timeout: queryOptions.timeout,\n interval: queryOptions.interval,\n stackTraceError: queryOptions.stackTraceError,\n };\n deprecatedKeys.forEach((key) => {\n const option = queryOptions[key];\n if (option) {\n // eslint-disable-next-line no-console\n console.warn(\n `Use of option \"${key}\" in a findBy* query's second parameter, TextMatchOptions, is deprecated. Please pass this option in the third, WaitForOptions, parameter. \nExample: \n\n findByText(text, {}, { ${key}: ${option.toString()} })`\n );\n }\n });\n return waitForOptions;\n }\n};\n\nexport function makeQueries<Predicate, Options>(\n queryAllByQuery: UnboundQuery<QueryAllByQuery<Predicate, Options>>,\n getMissingError: (predicate: Predicate) => string,\n getMultipleError: (predicate: Predicate) => string\n): UnboundQueries<Predicate, Options> {\n function getAllByQuery(instance: ReactTestInstance) {\n return function getAllFn(predicate: Predicate, options?: Options) {\n const results = queryAllByQuery(instance)(predicate, options);\n\n if (results.length === 0) {\n throw new ErrorWithStack(getMissingError(predicate), getAllFn);\n }\n\n return results;\n };\n }\n\n function queryByQuery(instance: ReactTestInstance) {\n return function singleQueryFn(predicate: Predicate, options?: Options) {\n const results = queryAllByQuery(instance)(predicate, options);\n\n if (results.length > 1) {\n throw new ErrorWithStack(getMultipleError(predicate), singleQueryFn);\n }\n\n if (results.length === 0) {\n return null;\n }\n\n return results[0];\n };\n }\n\n function getByQuery(instance: ReactTestInstance) {\n return function getFn(predicate: Predicate, options?: Options) {\n const results = queryAllByQuery(instance)(predicate, options);\n\n if (results.length > 1) {\n throw new ErrorWithStack(getMultipleError(predicate), getFn);\n }\n\n if (results.length === 0) {\n throw new ErrorWithStack(getMissingError(predicate), getFn);\n }\n\n return results[0];\n };\n }\n\n function findAllByQuery(instance: ReactTestInstance) {\n return function findAllFn(\n predicate: Predicate,\n queryOptions?: Options & WaitForOptions,\n waitForOptions: WaitForOptions = {}\n ) {\n const deprecatedWaitForOptions = extractDeprecatedWaitForOptionUsage(\n queryOptions\n );\n return waitFor(() => getAllByQuery(instance)(predicate, queryOptions), {\n ...deprecatedWaitForOptions,\n ...waitForOptions,\n });\n };\n }\n\n function findByQuery(instance: ReactTestInstance) {\n return function findFn(\n predicate: Predicate,\n queryOptions?: Options & WaitForOptions,\n waitForOptions: WaitForOptions = {}\n ) {\n const deprecatedWaitForOptions = extractDeprecatedWaitForOptionUsage(\n queryOptions\n );\n return waitFor(() => getByQuery(instance)(predicate, queryOptions), {\n ...deprecatedWaitForOptions,\n ...waitForOptions,\n });\n };\n }\n\n return {\n getBy: getByQuery,\n getAllBy: getAllByQuery,\n queryBy: queryByQuery,\n queryAllBy: queryAllByQuery,\n findBy: findByQuery,\n findAllBy: findAllByQuery,\n };\n}\n"],"file":"makeQueries.js"}
@@ -0,0 +1,13 @@
1
+ import type { ReactTestInstance } from 'react-test-renderer';
2
+ import { TextMatch } from '../matches';
3
+ import type { FindAllByQuery, FindByQuery, GetAllByQuery, GetByQuery, QueryAllByQuery, QueryByQuery } from './makeQueries';
4
+ import type { TextMatchOptions } from './text';
5
+ export declare type ByPlaceholderTextQueries = {
6
+ getByPlaceholderText: GetByQuery<TextMatch, TextMatchOptions>;
7
+ getAllByPlaceholderText: GetAllByQuery<TextMatch, TextMatchOptions>;
8
+ queryByPlaceholderText: QueryByQuery<TextMatch, TextMatchOptions>;
9
+ queryAllByPlaceholderText: QueryAllByQuery<TextMatch, TextMatchOptions>;
10
+ findByPlaceholderText: FindByQuery<TextMatch, TextMatchOptions>;
11
+ findAllByPlaceholderText: FindAllByQuery<TextMatch, TextMatchOptions>;
12
+ };
13
+ export declare const bindByPlaceholderTextQueries: (instance: ReactTestInstance) => ByPlaceholderTextQueries;