Skip to content

Commit 56347ce

Browse files
author
MattAgn
committed
test: group a11y tests together
1 parent 9f731cd commit 56347ce

File tree

1 file changed

+88
-48
lines changed

1 file changed

+88
-48
lines changed

src/helpers/__tests__/accessiblity.test.tsx

Lines changed: 88 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
import React from 'react';
2-
import { View, Text, TextInput, Pressable, Switch } from 'react-native';
2+
import {
3+
View,
4+
Text,
5+
TextInput,
6+
Pressable,
7+
Switch,
8+
TouchableOpacity,
9+
} from 'react-native';
310
import { render, isHiddenFromAccessibility, isInaccessible } from '../..';
411
import { isAccessibilityElement } from '../accessiblity';
512

@@ -182,53 +189,86 @@ describe('isHiddenFromAccessibility', () => {
182189
});
183190

184191
describe('isAccessibilityElement', () => {
185-
describe('when accessible prop is not defined', () => {
186-
test('returns true for Text component', () => {
187-
const element = render(<Text testID="text">Hey</Text>).getByTestId(
188-
'text'
189-
);
190-
expect(isAccessibilityElement(element)).toEqual(true);
191-
});
192-
193-
test('returns true for TextInput component', () => {
194-
const element = render(<TextInput testID="input" />).getByTestId('input');
195-
expect(isAccessibilityElement(element)).toEqual(true);
196-
});
197-
198-
test('returns true for Pressable component', () => {
199-
const element = render(<Pressable testID="pressable" />).getByTestId(
200-
'pressable'
201-
);
202-
expect(isAccessibilityElement(element)).toEqual(true);
203-
});
204-
205-
test('returns true for Switch component', () => {
206-
const element = render(<Switch testID="switch" />).getByTestId('switch');
207-
expect(isAccessibilityElement(element)).toEqual(true);
208-
});
209-
210-
test('returns false for View component', () => {
211-
const element = render(<View testID="element" />).getByTestId('element');
212-
expect(isAccessibilityElement(element)).toEqual(false);
213-
});
214-
});
215-
216-
describe('when accessible prop is defined', () => {
217-
test('returns false when accessible prop is set to false', () => {
218-
const element = render(
219-
<TextInput accessible={false} testID="input">
220-
Hey
221-
</TextInput>
222-
).getByTestId('input');
223-
expect(isAccessibilityElement(element)).toEqual(false);
224-
});
225-
226-
test('returns true when accessible prop is set to true', () => {
227-
const element = render(
228-
<View accessible={true} testID="view" />
229-
).getByTestId('view');
230-
expect(isAccessibilityElement(element)).toEqual(true);
231-
});
192+
test('matches View component properly', () => {
193+
const { getByTestId } = render(
194+
<View>
195+
<View testID="default" />
196+
<View testID="true" accessible />
197+
<View testID="false" accessible={false} />
198+
</View>
199+
);
200+
expect(isAccessibilityElement(getByTestId('default'))).toBeFalsy();
201+
expect(isAccessibilityElement(getByTestId('true'))).toBeTruthy();
202+
expect(isAccessibilityElement(getByTestId('false'))).toBeFalsy();
203+
});
204+
205+
test('matches TextInput component properly', () => {
206+
const { getByTestId } = render(
207+
<View>
208+
<TextInput testID="default" />
209+
<TextInput testID="true" accessible />
210+
<TextInput testID="false" accessible={false} />
211+
</View>
212+
);
213+
expect(isAccessibilityElement(getByTestId('default'))).toBeTruthy();
214+
expect(isAccessibilityElement(getByTestId('true'))).toBeTruthy();
215+
expect(isAccessibilityElement(getByTestId('false'))).toBeFalsy();
216+
});
217+
218+
test('matches Text component properly', () => {
219+
const { getByTestId } = render(
220+
<View>
221+
<Text testID="default">Default</Text>
222+
<Text testID="true" accessible>
223+
True
224+
</Text>
225+
<Text testID="false" accessible={false}>
226+
False
227+
</Text>
228+
</View>
229+
);
230+
expect(isAccessibilityElement(getByTestId('default'))).toBeTruthy();
231+
expect(isAccessibilityElement(getByTestId('true'))).toBeTruthy();
232+
expect(isAccessibilityElement(getByTestId('false'))).toBeFalsy();
233+
});
234+
235+
test('matches Switch component properly', () => {
236+
const { getByTestId } = render(
237+
<View>
238+
<Switch testID="default" />
239+
<Switch testID="true" accessible />
240+
<Switch testID="false" accessible={false} />
241+
</View>
242+
);
243+
expect(isAccessibilityElement(getByTestId('default'))).toBeTruthy();
244+
expect(isAccessibilityElement(getByTestId('true'))).toBeTruthy();
245+
expect(isAccessibilityElement(getByTestId('false'))).toBeFalsy();
246+
});
247+
248+
test('matches Pressable component properly', () => {
249+
const { getByTestId } = render(
250+
<View>
251+
<Pressable testID="default" />
252+
<Pressable testID="true" accessible />
253+
<Pressable testID="false" accessible={false} />
254+
</View>
255+
);
256+
expect(isAccessibilityElement(getByTestId('default'))).toBeTruthy();
257+
expect(isAccessibilityElement(getByTestId('true'))).toBeTruthy();
258+
expect(isAccessibilityElement(getByTestId('false'))).toBeFalsy();
259+
});
260+
261+
test('matches TouchableOpacity component properly', () => {
262+
const { getByTestId } = render(
263+
<View>
264+
<TouchableOpacity testID="default" />
265+
<TouchableOpacity testID="true" accessible />
266+
<TouchableOpacity testID="false" accessible={false} />
267+
</View>
268+
);
269+
expect(isAccessibilityElement(getByTestId('default'))).toBeTruthy();
270+
expect(isAccessibilityElement(getByTestId('true'))).toBeTruthy();
271+
expect(isAccessibilityElement(getByTestId('false'))).toBeFalsy();
232272
});
233273

234274
test('returns false when given null', () => {

0 commit comments

Comments
 (0)