Skip to content

Commit 4724d94

Browse files
committed
test fixes
1 parent f4c98a8 commit 4724d94

6 files changed

Lines changed: 32 additions & 47 deletions

File tree

src/frontend/src/app/AppContextUser.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { createContext } from 'react';
99
import { AuthenticatedUser } from 'shared';
1010
import LoadingIndicator from '../components/LoadingIndicator';
1111
import { useAuth } from '../hooks/auth.hooks';
12-
import { useClarity } from './ClarityProvider';
12+
import { useClarity } from '../hooks/misc.hooks';
1313
import { fullNamePipe } from '../utils/pipes';
1414
import { useGetUsersTeams } from '../hooks/teams.hooks';
1515
import ErrorPage from '../pages/ErrorPage';

src/frontend/src/app/ClarityProvider.tsx

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,10 @@ declare global {
99

1010
const CLARITY_PROJECT_ID = import.meta.env.VITE_REACT_APP_CLARITY_PROJECT_ID as string | undefined;
1111

12-
type ClarityFn = (...args: any[]) => void;
12+
export type ClarityFn = (...args: any[]) => void;
1313

1414
export const ClarityContext = createContext<ClarityFn | undefined>(undefined);
1515

16-
/**
17-
* useClarity hook
18-
*
19-
* Returns the Clarity function from context. Use this to call Clarity API methods.
20-
* Example: const clarity = useClarity();
21-
*/
22-
export const useClarity = () => {
23-
const context = useContext(ClarityContext);
24-
if (context === undefined) {
25-
throw new Error('useClarity must be used within a ClarityProvider');
26-
}
27-
return context;
28-
};
29-
3016
/**
3117
* ClarityProvider component
3218
*

src/frontend/src/hooks/misc.hooks.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ import { useQuery } from 'react-query';
77
import { VersionObject } from '../utils/types';
88
import { getReleaseInfo } from '../apis/misc.api';
99
import { useHistory } from 'react-router-dom';
10-
import { useState } from 'react';
10+
import { useContext, useState } from 'react';
11+
import { ClarityContext } from '../app/ClarityProvider';
1112

1213
export const useGetVersionNumber = () => {
1314
return useQuery<VersionObject, Error>(['version'], async () => {
@@ -34,3 +35,17 @@ export const useHistoryState = <T>(key: string, initialValue: T): [T, (t: T) =>
3435
}
3536
return [rawState, setState];
3637
};
38+
39+
/**
40+
* useClarity hook
41+
*
42+
* Returns the Clarity function from context. Use this to call Clarity API methods.
43+
* Example: const clarity = useClarity();
44+
*/
45+
export const useClarity = () => {
46+
const context = useContext(ClarityContext);
47+
if (context === undefined) {
48+
throw new Error('useClarity must be used within a ClarityProvider');
49+
}
50+
return context;
51+
};

src/frontend/src/tests/pages/ChangeRequestDetailPage/ChangeRequestDetailsView.test.tsx

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -48,20 +48,16 @@ const mockUseLogUserInHook = (isLoading: boolean, isError: boolean, error?: Erro
4848
const renderComponent = (cr: ChangeRequest, allowed: boolean = false) => {
4949
const RouterWrapper = routerWrapperBuilder({});
5050
return render(
51-
<ClarityProvider>
52-
<AppContextUser>
53-
<ToastProvider>
54-
<RouterWrapper>
55-
<ChangeRequestDetailsView
56-
changeRequest={cr}
57-
isUserAllowedToReview={allowed}
58-
isUserAllowedToImplement={allowed}
59-
isUserAllowedToDelete={allowed}
60-
/>
61-
</RouterWrapper>
62-
</ToastProvider>
63-
</AppContextUser>
64-
</ClarityProvider>
51+
<ToastProvider>
52+
<RouterWrapper>
53+
<ChangeRequestDetailsView
54+
changeRequest={cr}
55+
isUserAllowedToReview={allowed}
56+
isUserAllowedToImplement={allowed}
57+
isUserAllowedToDelete={allowed}
58+
/>
59+
</RouterWrapper>
60+
</ToastProvider>
6561
);
6662
};
6763

src/frontend/src/tests/pages/CreateChangeRequestPage/CreateProposedSolutionsList.test.tsx

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,17 @@ import CreateProposedSolutionsList from '../../../pages/CreateChangeRequestPage/
88
import * as authHooks from '../../../hooks/auth.hooks';
99
import { mockAuth } from '../../test-support/test-data/test-utils.stub';
1010
import * as userHooks from '../../../hooks/users.hooks';
11-
import AppContextUser from '../../../app/AppContextUser';
1211
import { exampleAuthenticatedAdminUser } from '../../test-support/test-data/authenticated-user.stub';
13-
import ClarityProvider from '../../../app/ClarityProvider';
1412

1513
/**
1614
* Sets up the component under test with the desired values and renders it.
1715
*/
1816
const renderComponent = () => {
1917
const RouterWrapper = routerWrapperBuilder({});
2018
return render(
21-
<ClarityProvider>
22-
<AppContextUser>
23-
<RouterWrapper>
24-
<CreateProposedSolutionsList proposedSolutions={[]} setProposedSolutions={() => {}} />
25-
</RouterWrapper>
26-
</AppContextUser>
27-
</ClarityProvider>
19+
<RouterWrapper>
20+
<CreateProposedSolutionsList proposedSolutions={[]} setProposedSolutions={() => {}} />
21+
</RouterWrapper>
2822
);
2923
};
3024

src/frontend/src/tests/pages/WorkPackageDetailPage/WorkPackagePage.test.tsx

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,11 @@ import { mockAuth, mockUseQueryResult } from '../../test-support/test-data/test-
1313
import { exampleDesignWorkPackage, exampleResearchWorkPackage } from '../../test-support/test-data/work-packages.stub';
1414
import { exampleWbsProject1 } from '../../test-support/test-data/wbs-numbers.stub';
1515
import WorkPackagePage from '../../../pages/WorkPackageDetailPage/WorkPackagePage';
16-
import AppContextUser from '../../../app/AppContextUser';
1716
import { useCurrentUser } from '../../../hooks/users.hooks';
1817
import {
1918
exampleAuthenticatedAdminUser,
2019
exampleAuthenticatedGuestUser
2120
} from '../../test-support/test-data/authenticated-user.stub';
22-
import ClarityProvider from '../../../app/ClarityProvider';
2321

2422
vi.mock('../../../hooks/work-packages.hooks');
2523

@@ -55,11 +53,7 @@ const renderComponent = () => {
5553
const RouterWrapper = routerWrapperBuilder({});
5654
return render(
5755
<RouterWrapper>
58-
<ClarityProvider>
59-
<AppContextUser>
60-
<WorkPackagePage wbsNum={exampleWbsProject1} />
61-
</AppContextUser>
62-
</ClarityProvider>
56+
<WorkPackagePage wbsNum={exampleWbsProject1} />
6357
</RouterWrapper>
6458
);
6559
};

0 commit comments

Comments
 (0)