From e7f59ba267bccac2ebdf5094c5f6dc91acf6e56b Mon Sep 17 00:00:00 2001 From: Arkadiusz Bachorski <60391032+arkadiuszbachorski@users.noreply.github.com> Date: Mon, 4 Nov 2024 12:40:35 +0100 Subject: [PATCH] Reuse test providers in tests --- .../EmailPasswordForm/EmailPasswordForm.test.tsx | 13 +++++-------- src/modules/auth/SignInForm/SignInForm.test.tsx | 12 +++++------- 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/src/modules/auth/SignInForm/EmailPasswordForm/EmailPasswordForm.test.tsx b/src/modules/auth/SignInForm/EmailPasswordForm/EmailPasswordForm.test.tsx index ca27c63..088f6c9 100644 --- a/src/modules/auth/SignInForm/EmailPasswordForm/EmailPasswordForm.test.tsx +++ b/src/modules/auth/SignInForm/EmailPasswordForm/EmailPasswordForm.test.tsx @@ -6,12 +6,12 @@ // SPDX-License-Identifier: MIT // -import { render, screen } from '@testing-library/react' +import { screen } from '@testing-library/react' import { userEvent } from '@testing-library/user-event' import { type Auth } from 'firebase/auth' import { vitest } from 'vitest' +import { renderWithProviders } from '@/tests/helpers' import { EmailPasswordForm } from './EmailPasswordForm' -import { Providers } from '../../../../tests/Providers' const authMock = {} as Auth const signInWithEmailAndPasswordMock = vitest.fn() @@ -48,12 +48,11 @@ describe('EmailPasswordForm', () => { }) it('calls signIn function', async () => { - render( + renderWithProviders( , - { wrapper: Providers }, ) await signIn() @@ -66,12 +65,11 @@ describe('EmailPasswordForm', () => { it('validates against empty values', async () => { const user = userEvent.setup() - render( + renderWithProviders( , - { wrapper: Providers }, ) await user.type(getPasswordField(), 'something') @@ -85,12 +83,11 @@ describe('EmailPasswordForm', () => { signInWithEmailAndPasswordMock.mockImplementation(() => { throw new InvalidCredsError() }) - render( + renderWithProviders( , - { wrapper: Providers }, ) await signIn() diff --git a/src/modules/auth/SignInForm/SignInForm.test.tsx b/src/modules/auth/SignInForm/SignInForm.test.tsx index 8b52bbb..1b00977 100644 --- a/src/modules/auth/SignInForm/SignInForm.test.tsx +++ b/src/modules/auth/SignInForm/SignInForm.test.tsx @@ -6,11 +6,11 @@ // SPDX-License-Identifier: MIT // -import { fireEvent, render, screen } from '@testing-library/react' +import { fireEvent, screen } from '@testing-library/react' import { type Auth, type AuthProvider } from 'firebase/auth' import { vitest } from 'vitest' +import { renderWithProviders } from '@/tests/helpers' import { SignInForm } from './SignInForm' -import { Providers } from '../../../tests/Providers' const authMock = {} as Auth const providerMock = {} as AuthProvider @@ -34,7 +34,7 @@ describe('SignInForm', () => { }) it('renders SSO providers and calls signInWithPopup', () => { - render(, { wrapper: Providers }) + renderWithProviders() const ssoButton = screen.getByRole('button', { name: 'Sign in with Lorem' }) fireEvent.click(ssoButton) @@ -43,13 +43,12 @@ describe('SignInForm', () => { }) it('renders email password form', () => { - render( + renderWithProviders( , - { wrapper: Providers }, ) const input = screen.getByRole('textbox') @@ -57,13 +56,12 @@ describe('SignInForm', () => { }) it('renders separator only if has providers and email password', () => { - const { rerender } = render( + const { rerender } = renderWithProviders( , - { wrapper: Providers }, ) expect(screen.queryByText('or')).not.toBeInTheDocument()