import { render } from '@testing-library/react-native'; import * as React from 'react'; import { View } from 'react-native'; import { FormSubmit } from './FormSubmit'; import { Pressable } from './Pressable'; beforeEach(() => { jest.clearAllMocks(); }); describe('FormSubmit', () => { it('wraps the children inside a Pressable component with the correct accessibility role and label', () => { const { getByTestId, UNSAFE_getByType } = render( , ); expect(UNSAFE_getByType(Pressable)).toBeTruthy(); expect(getByTestId('test-me').props).toEqual( expect.objectContaining({ accessibilityRole: 'button', accessibilityLabel: 'This is the label', accessibilityState: { busy: false, }, busy: false, accessible: true, }), ); }); it('hides the children from the accessiblity tree', () => { const { getByTestId } = render( , ); expect(getByTestId('child').props).toEqual({ accessibilityElementsHidden: true, children: null, importantForAccessibility: 'no', testID: 'child', }); }); }); jest.mock('../hooks/useFormField', () => { return { useFormField: jest.fn().mockReturnValue({}), }; }); jest.mock('../providers/AMAProvider', () => { const originalModule = jest.requireActual('../providers/AMAProvider'); return { ...originalModule, useAMAContext: () => { return { isScreenReaderEnabled: true, }; }, }; });