Skip to content

Commit 81781f0

Browse files
committed
frontend tests
1 parent 31e691d commit 81781f0

11 files changed

Lines changed: 60 additions & 26 deletions

File tree

src/frontend/src/pages/HomePage/components/OverdueWorkPackageCard.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ export const CircularProgressWithLabel = (props: CircularProgressProps & { value
3939

4040
const OverdueWorkPackageCard = ({ wp }: { wp: WorkPackage }) => {
4141
const theme = useTheme();
42-
console.log('wp', wp);
4342
const { data: blockedByWps, isLoading } = useGetManyWorkPackages(wp.blockedBy);
4443
const numDaysOverdue = daysOverdue(new Date(wp.endDate));
4544
if (isLoading || !blockedByWps) return <LoadingIndicator />;

src/frontend/src/pages/HomePage/components/OverdueWorkPackages.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ const OverdueWorkPackages: React.FC<{}> = () => {
1212
if (isLoading || !overdueWPs) return <LoadingIndicator />;
1313
if (isError) return <ErrorPage error={error} message={error.message} />;
1414

15-
console.log('Overdue WPs:', overdueWPs);
16-
1715
return <OverdueWorkPackagesView theme={theme} workPackages={overdueWPs} />;
1816
};
1917

src/frontend/src/pages/RetrospectivePage/Retrospective.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,6 @@ const RetrospectivePage = () => {
2929
const history = useHistory();
3030
const { filters, setFilters } = useGanttFilters('retro-gantt');
3131

32-
console.log(filters.startDate);
33-
3432
const { data: teams, isLoading: teamsIsLoading, isError: teamsIsError, error: teamsError } = useAllTeams();
3533

3634
const {

src/frontend/src/tests/app/AppAuthenticated.test.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import * as userHooks from '../../hooks/users.hooks';
1313
import { mockUseAllWorkPackagesReturnValue } from '../test-support/mock-hooks';
1414
import { mockAuth } from '../test-support/test-data/test-utils.stub';
1515
import { exampleAdminUser } from '../test-support/test-data/users.stub';
16+
import { exampleAuthenticatedAdminUser } from '../test-support/test-data/authenticated-user.stub';
1617

1718
vi.mock('../../pages/ProjectsPage/Projects', () => {
1819
return {
@@ -39,7 +40,7 @@ describe.skip('App Authenticated', () => {
3940
beforeEach(() => {
4041
vi.spyOn(workPackageHooks, 'useAllWorkPackages').mockReturnValue(mockUseAllWorkPackagesReturnValue([]));
4142
vi.spyOn(miscHooks, 'useGetVersionNumber').mockReturnValue(mockGetVersionNumberReturnValue({ tag_name: 'v3.5.4' }));
42-
vi.spyOn(authHooks, 'useAuth').mockReturnValue(mockAuth(false, exampleAdminUser));
43+
vi.spyOn(authHooks, 'useAuth').mockReturnValue(mockAuth(false, exampleAuthenticatedAdminUser));
4344
vi.spyOn(userHooks, 'useCurrentUser').mockReturnValue({
4445
...exampleAdminUser,
4546
organizations: [],

src/frontend/src/tests/app/AppPublic.test.tsx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@
33
* See the LICENSE file in the repository root folder for details.
44
*/
55

6-
import { User } from 'shared';
6+
import { AuthenticatedUser, User } from 'shared';
77
import { render, screen, routerWrapperBuilder } from '../test-support/test-utils';
88
import { exampleAdminUser } from '../test-support/test-data/users.stub';
99
import { mockAuth } from '../test-support/test-data/test-utils.stub';
1010
import { useAuth } from '../../hooks/auth.hooks';
1111
import { routes } from '../../utils/routes';
1212
import { Auth } from '../../utils/types';
1313
import AppPublic from '../../app/AppPublic';
14+
import { exampleAuthenticatedAdminUser } from '../test-support/test-data/authenticated-user.stub';
1415

1516
vi.mock('../../app/AppAuthenticated', () => {
1617
return {
@@ -25,7 +26,7 @@ vi.mock('../../hooks/auth.hooks');
2526

2627
const mockedUseAuth = useAuth as jest.Mock<Auth>;
2728

28-
const mockHook = (isLoading: boolean, user?: User) => {
29+
const mockHook = (isLoading: boolean, user?: AuthenticatedUser) => {
2930
mockedUseAuth.mockReturnValue(mockAuth(isLoading, user));
3031
};
3132

@@ -41,14 +42,14 @@ const renderComponent = (path?: string, route?: string) => {
4142

4243
describe('app public section', () => {
4344
it('renders loading spinner', () => {
44-
mockHook(true, exampleAdminUser);
45+
mockHook(true, exampleAuthenticatedAdminUser);
4546
renderComponent(routes.LOGIN, routes.LOGIN);
4647

4748
expect(screen.getByTestId('loader')).toBeInTheDocument();
4849
});
4950

5051
it('renders app authenticated', () => {
51-
mockHook(false, exampleAdminUser);
52+
mockHook(false, exampleAuthenticatedAdminUser);
5253
renderComponent(routes.PROJECTS, routes.PROJECTS);
5354

5455
expect(screen.getByText('app-authenticated')).toBeInTheDocument();

src/frontend/src/tests/pages/ProjectDetailPage/ProjectViewContainer.test.tsx

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,26 @@
66
import { render, screen, routerWrapperBuilder, fireEvent, waitFor } from '../../test-support/test-utils';
77
import { exampleProject1 } from '../../test-support/test-data/projects.stub';
88
import { mockAuth } from '../../test-support/test-data/test-utils.stub';
9-
import { exampleAdminUser, exampleGuestUser } from '../../test-support/test-data/users.stub';
109
import ProjectViewContainer from '../../../pages/ProjectDetailPage/ProjectViewContainer/ProjectViewContainer';
1110
import { WorkPackageStage } from 'shared/src/types/work-package-types';
1211
import * as userHooks from '../../../hooks/users.hooks';
1312
import * as financeHooks from '../../../hooks/finance.hooks';
1413
import * as authHooks from '../../../hooks/auth.hooks';
1514
import * as wpHooks from '../../../hooks/work-packages.hooks';
1615
import * as bomHooks from '../../../hooks/bom.hooks';
16+
import * as teamHooks from '../../../hooks/teams.hooks';
1717
import {
1818
mockManyMaterials,
1919
mockManyWorkPackages,
20-
mockUseGetReimbursementRequestProjectData
20+
mockUseGetReimbursementRequestProjectData,
21+
mockUseMyTeamAsHead
2122
} from '../../test-support/mock-hooks';
2223
import { exampleAllWorkPackages } from '../../test-support/test-data/work-packages.stub';
2324
import { exampleRRData } from '../../test-support/test-data/finance.stubs';
25+
import {
26+
exampleAuthenticatedAdminUser,
27+
exampleAuthenticatedGuestUser
28+
} from '../../test-support/test-data/authenticated-user.stub';
2429

2530
vi.mock('../../../utils/axios');
2631
vi.mock('../../../hooks/toasts.hooks');
@@ -54,18 +59,16 @@ describe('Rendering Project View Container', () => {
5459
unobserve: vi.fn(),
5560
disconnect: vi.fn()
5661
}));
57-
vi.spyOn(authHooks, 'useAuth').mockReturnValue(mockAuth(false, exampleAdminUser));
62+
vi.spyOn(authHooks, 'useAuth').mockReturnValue(mockAuth(false, exampleAuthenticatedAdminUser));
5863
vi.spyOn(userHooks, 'useCurrentUser').mockReturnValue({
59-
...exampleAdminUser,
60-
organizations: [],
61-
onboardedTeamTypeIds: [],
62-
onboardingTeamTypeIds: []
64+
...exampleAuthenticatedAdminUser
6365
});
6466
vi.spyOn(wpHooks, 'useGetManyWorkPackages').mockReturnValue(mockManyWorkPackages(exampleAllWorkPackages));
6567
vi.spyOn(bomHooks, 'useGetMaterialsForWbsElement').mockReturnValue(mockManyMaterials([]));
6668
vi.spyOn(financeHooks, 'useGetReimbursementRequestProjectData').mockReturnValue(
6769
mockUseGetReimbursementRequestProjectData(exampleRRData)
6870
);
71+
vi.spyOn(teamHooks, 'useMyTeamAsHead').mockReturnValue(mockUseMyTeamAsHead());
6972
vi.spyOn(userHooks, 'useUsersFavoriteProjects').mockReturnValue({
7073
data: [
7174
{
@@ -92,10 +95,7 @@ describe('Rendering Project View Container', () => {
9295
it('disables the buttons for guest users', () => {
9396
renderComponent();
9497
vi.spyOn(userHooks, 'useCurrentUser').mockReturnValue({
95-
...exampleGuestUser,
96-
organizations: [],
97-
onboardedTeamTypeIds: [],
98-
onboardingTeamTypeIds: []
98+
...exampleAuthenticatedGuestUser
9999
});
100100

101101
fireEvent.click(screen.getByText('Actions'));

src/frontend/src/tests/pages/WorkPackageDetailPage/WorkPackageViewContainer/WorkPackageDetails.test.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import { mockAuth, mockUseQueryResult } from '../../../test-support/test-data/te
2222
import { UseQueryResult } from 'react-query';
2323
import { exampleAdminUser, exampleAppAdminUser, exampleLeadershipUser } from '../../../test-support/test-data/users.stub';
2424
import { Auth } from '../../../../utils/types';
25+
import { exampleAuthenticatedAdminUser } from '../../../test-support/test-data/authenticated-user.stub';
2526

2627
vi.mock('../../../../hooks/users.hooks');
2728
vi.mock('../../../../hooks/auth.hooks');
@@ -31,7 +32,7 @@ const mockedUseAuth = useAuth as jest.Mock<Auth>;
3132

3233
const mockHook = (isLoading: boolean, isError: boolean, data?: User[], error?: Error) => {
3334
mockedUseAllUsers.mockReturnValue(mockUseQueryResult<User[]>(isLoading, isError, data, error));
34-
mockedUseAuth.mockReturnValue(mockAuth(isLoading, exampleAppAdminUser));
35+
mockedUseAuth.mockReturnValue(mockAuth(isLoading, exampleAuthenticatedAdminUser));
3536
};
3637

3738
const users = [exampleAdminUser, exampleAppAdminUser, exampleLeadershipUser];

src/frontend/src/tests/test-support/mock-hooks.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,3 +144,6 @@ export const mockManyMaterials = (materials: Material[]) =>
144144

145145
export const mockUseGetReimbursementRequestProjectData = (rrData: ReimbursementRequestData) =>
146146
mockUseQueryResult<ReimbursementRequestData>(false, false, rrData, new Error());
147+
148+
export const mockUseMyTeamAsHead = (teamId?: string) =>
149+
mockUseQueryResult<string | undefined>(false, false, teamId, new Error());

src/frontend/src/tests/test-support/test-data/authenticated-user.stub.ts

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,29 @@ export const exampleAuthenticatedAdminUser: AuthenticatedUser = {
1111
lastName: 'Shmoe',
1212
email: 'shmoe.j@husky.neu.edu',
1313
role: RoleEnum.ADMIN,
14-
organizations: [],
14+
organizations: ['yello'],
15+
onboardingTeamTypeIds: [],
16+
onboardedTeamTypeIds: []
17+
};
18+
19+
export const exampleAuthenticatedGuestUser: AuthenticatedUser = {
20+
userId: '5',
21+
firstName: 'Guest',
22+
lastName: 'User',
23+
email: 'guest@ner.edu',
24+
role: RoleEnum.GUEST,
25+
organizations: ['foo'],
26+
onboardingTeamTypeIds: [],
27+
onboardedTeamTypeIds: []
28+
};
29+
30+
export const exampleAuthenticatedMemberUser: AuthenticatedUser = {
31+
userId: '6',
32+
firstName: 'Member',
33+
lastName: 'User',
34+
email: 'member@ner.edu',
35+
role: RoleEnum.MEMBER,
36+
organizations: ['bar'],
1537
onboardingTeamTypeIds: [],
1638
onboardedTeamTypeIds: []
1739
};

src/frontend/src/tests/test-support/test-data/test-utils.stub.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import { AxiosHeaders, AxiosResponse } from 'axios';
77
import { UseMutationResult, UseQueryResult } from 'react-query';
8-
import { User } from 'shared';
8+
import { AuthenticatedUser, User } from 'shared';
99
import { exampleAuthenticatedAdminUser } from './authenticated-user.stub';
1010
import { Auth } from '../../../utils/types';
1111

@@ -88,7 +88,7 @@ export const mockUseMutationResult = <Input>(isLoading: boolean, isError: boolea
8888
} as UseMutationResult<Input, Error>;
8989
};
9090

91-
export const mockAuth = (isLoading: boolean, user?: User) => {
91+
export const mockAuth = (isLoading: boolean, user?: AuthenticatedUser) => {
9292
return {
9393
user,
9494
devSignin: () => new Promise((res) => res(exampleAuthenticatedAdminUser)),

0 commit comments

Comments
 (0)