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 });
});
});