import React from 'react'; import { fireEvent, render } from '@testing-library/react-native'; import FederatedProviderButtons from '../FederatedProviderButtons'; const toFederatedSignIn = jest.fn(); const providerButtonText = 'Sign In with Amazon'; describe('FederatedProviderButtons', () => { beforeEach(() => { jest.resetAllMocks(); }); it('renders as expected', () => { const { getByText, toJSON } = render( ); const providerButton = getByText(providerButtonText); expect(providerButton).toBeDefined(); expect(toJSON()).toMatchSnapshot(); }); it('renders null when socialProviders is empty', () => { const { toJSON } = render( ); expect(toJSON()).toBe(null); }); it('calls toFederatedSignIn with the expected provider on press', () => { const provider = 'amazon'; const { getByText } = render( ); const providerButton = getByText(providerButtonText); expect(providerButton).toBeDefined(); fireEvent.press(providerButton); expect(toFederatedSignIn).toBeCalledWith({ provider }); }); });