From 062603a26d0430ffad01491dfa95c665172cfe32 Mon Sep 17 00:00:00 2001 From: Eduardo Vazquez <80133388+vazquezea96@users.noreply.github.com> Date: Mon, 14 Oct 2024 09:37:39 -0700 Subject: [PATCH 1/4] Eddie/450-add-users-leagues-to-side-menu (#460) Adding the user's leagues to the side menu. Actions done: - [x] Updated Api call so it only gets called once. --------- Co-authored-by: Shashi Lo <362527+shashilo@users.noreply.github.com> --- components/Nav/Nav.test.tsx | 39 +++++++++++++++++++++++++++++++++++++ components/Nav/Nav.tsx | 15 +++++++++++++- 2 files changed, 53 insertions(+), 1 deletion(-) diff --git a/components/Nav/Nav.test.tsx b/components/Nav/Nav.test.tsx index 47abd352..b23ea7d9 100644 --- a/components/Nav/Nav.test.tsx +++ b/components/Nav/Nav.test.tsx @@ -1,6 +1,8 @@ import { render, screen, fireEvent, waitFor } from '@testing-library/react'; import Nav from './Nav'; import Login from '@/app/(main)/login/page'; +import { useDataStore } from '@/store/dataStore'; +import { getUserLeagues } from '@/utils/utils'; const mockPush = jest.fn(); const mockUsePathname = jest.fn(); @@ -32,6 +34,10 @@ jest.mock('../../context/AuthContextProvider', () => ({ }, })); +jest.mock('@/store/dataStore', () => ({ + useDataStore: jest.fn(() => ({ user: { id: '123', leagues: [] } })), +})); + Object.defineProperty(window, 'matchMedia', { writable: true, value: jest.fn().mockImplementation((query) => ({ @@ -47,10 +53,25 @@ Object.defineProperty(window, 'matchMedia', { }); describe('Nav', () => { + const mockUseDataStore = useDataStore as unknown as jest.Mock; + const mockGetUserLeagues = getUserLeagues as jest.Mock; + beforeEach(() => { jest.clearAllMocks(); }); + it('renders link to /league/all', async () => { + render(