From e096f33e154d9edbde26ca909dcf727f61b31fa9 Mon Sep 17 00:00:00 2001 From: Liam Stevens <8955671+liamstevens111@users.noreply.github.com> Date: Tue, 21 Mar 2023 11:54:13 +0700 Subject: [PATCH] [#19] Add test for PrivateRoutes but infinite redirect loop if no user --- src/components/PrivateRoutes/index.test.tsx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/components/PrivateRoutes/index.test.tsx b/src/components/PrivateRoutes/index.test.tsx index 5071eff..ebefe9e 100644 --- a/src/components/PrivateRoutes/index.test.tsx +++ b/src/components/PrivateRoutes/index.test.tsx @@ -1,10 +1,10 @@ /* eslint-disable camelcase */ import { MemoryRouter } from 'react-router-dom'; -import { render, screen } from '@testing-library/react'; +import { render, screen, waitForElementToBeRemoved } from '@testing-library/react'; import PrivateRoutes from '.'; -import { setItem } from '../../helpers/localStorage'; +import { setItem, clearItem } from '../../helpers/localStorage'; const mockTokenData = { access_token: 'test_access_token', @@ -21,6 +21,10 @@ const mockUserProfileData = { }; describe('PrivateRoutes', () => { + beforeEach(() => { + clearItem('UserProfile'); + }); + test('renders a PrivateRoute given authenticated user', async () => { setItem('UserProfile', { auth: mockTokenData, user: mockUserProfileData }); @@ -32,8 +36,11 @@ describe('PrivateRoutes', () => { }); test.skip('renders a PrivateRoute', async () => { + // Infinite loop render(, { wrapper: MemoryRouter }); + await waitForElementToBeRemoved(() => screen.queryAllByTestId('loading')); + expect(screen.getByTestId('loading')); }); });