From cc5b7bf7ed17bbfb805bd2eedead82cc29dd290e Mon Sep 17 00:00:00 2001
From: Liam Stevens <8955671+liamstevens111@users.noreply.github.com>
Date: Tue, 21 Mar 2023 11:31:40 +0700
Subject: [PATCH] [#19] Add test for PrivateRoutes but infinie redirect loop if
no user
---
src/components/PrivateRoutes/index.test.tsx | 39 +++++++++++++++++++++
src/components/PrivateRoutes/index.tsx | 2 +-
2 files changed, 40 insertions(+), 1 deletion(-)
create mode 100644 src/components/PrivateRoutes/index.test.tsx
diff --git a/src/components/PrivateRoutes/index.test.tsx b/src/components/PrivateRoutes/index.test.tsx
new file mode 100644
index 0000000..5071eff
--- /dev/null
+++ b/src/components/PrivateRoutes/index.test.tsx
@@ -0,0 +1,39 @@
+/* eslint-disable camelcase */
+import { MemoryRouter } from 'react-router-dom';
+
+import { render, screen } from '@testing-library/react';
+
+import PrivateRoutes from '.';
+import { setItem } from '../../helpers/localStorage';
+
+const mockTokenData = {
+ access_token: 'test_access_token',
+ refresh_token: 'test_refresh_token',
+ token_type: 'Bearer',
+ expires_in: 7200,
+ created_at: 1677045997,
+};
+
+const mockUserProfileData = {
+ email: 'testemail@gmail.com',
+ name: 'TestName',
+ avatar_url: 'https://secure.gravatar.com/avatar/6733d09432e89459dba795de8312ac2d',
+};
+
+describe('PrivateRoutes', () => {
+ test('renders a PrivateRoute given authenticated user', async () => {
+ setItem('UserProfile', { auth: mockTokenData, user: mockUserProfileData });
+
+ render(