diff --git a/src/features/pollSlice.ts b/src/features/pollSlice.ts index f01d722..6444ea8 100644 --- a/src/features/pollSlice.ts +++ b/src/features/pollSlice.ts @@ -24,7 +24,7 @@ export interface Poll { optionTwo: PollOption; } -interface PollsState { +export interface PollsState { polls: Record; status: 'idle' | 'loading' | 'succeeded' | 'failed'; error: string | undefined; diff --git a/src/tests/Leaderboard.test.tsx b/src/tests/Leaderboard.test.tsx index 9b1f52a..03ad6bb 100644 --- a/src/tests/Leaderboard.test.tsx +++ b/src/tests/Leaderboard.test.tsx @@ -13,7 +13,7 @@ import Leaderboard from '../components/Leaderboard'; type FullRootState = { users: UsersState; poll: PollsState; -} +}; const rootReducer = combineReducers({ users: userReducer, @@ -36,47 +36,47 @@ const initialStateAuthenticated: RootState = { password: 'password123', avatarURL: '/path/to/avatar.png', answers: {}, - questions: [] + questions: [], }, users: { - 'sarahedo': { + sarahedo: { id: 'sarahedo', name: 'Sarah Edo', password: 'password123', avatarURL: '/path/to/avatar.png', answers: {}, - questions: [] - } + questions: [], + }, }, status: 'succeeded', - error: undefined + error: undefined, }, poll: { polls: {}, status: 'idle', - error: undefined - } + error: undefined, + }, }; // Create a custom render function that includes all providers const customRender = ( ui: React.ReactElement, - { initialState, store }: CustomRenderOptions = {} + { initialState, store }: CustomRenderOptions = {}, ) => { // Create store only if it's not provided - store = store || configureStore({ - reducer: rootReducer, - preloadedState: initialState - }); + store = + store || + configureStore({ + reducer: rootReducer, + preloadedState: initialState, + }); return render( - - {ui} - + {ui} - + , ); }; @@ -84,6 +84,8 @@ describe('Leaderboard Component', () => { it('should display sorted users by activity', async () => { customRender(, { initialState: initialStateAuthenticated }); expect(await screen.findByText(/Sarah Edo/)).toBeInTheDocument(); - expect(await screen.findByText(/Questions Asked: 0 - Answers Given: 0/)).toBeInTheDocument(); + expect( + await screen.findByText(/Questions Asked: 0 - Answers Given: 0/), + ).toBeInTheDocument(); }); });