Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
176 changes: 10 additions & 166 deletions frontend/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
"@babel/core": "7.20.12",
"@testing-library/dom": "9.2.0",
"@testing-library/jest-dom": "5.16.5",
"@testing-library/react": "13.4.0",
"@testing-library/react": "14.0.0",
"@testing-library/user-event": "14.4.3",
"@types/react-beautiful-dnd": "13.1.4",
"@types/react-helmet": "6.1.6",
Expand Down
14 changes: 7 additions & 7 deletions frontend/src/components/ResetModal/ResetModal.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -23,21 +23,21 @@ describe('ResetModal', () => {
vi.clearAllMocks();
});

it('should render', () => {
renderWithProviders(<ResetModal />);
it('should render', async () => {
await renderWithProviders(<ResetModal />);
expect(screen.queryByText('Reset Planner?')).not.toBeInTheDocument();
});

it('should show modal when degree wizard is complete', () => {
renderWithProviders(<ResetModal open />, { preloadedState });
it('should show modal when degree wizard is complete', async () => {
await renderWithProviders(<ResetModal open />, { preloadedState });
expect(screen.getByText('Reset Planner?')).toBeInTheDocument();
});

it('should reset state when reset button is clicked', async () => {
const dummyDispatch = vi.fn();
useDispatchMock.mockReturnValue(dummyDispatch);

renderWithProviders(<ResetModal open />, {
await renderWithProviders(<ResetModal open />, {
preloadedState: {
degree: {
programCode: '3778',
Expand All @@ -59,15 +59,15 @@ describe('ResetModal', () => {
it('should call the OnCancel callback when the Go Back button is clicked', async () => {
const dummyOnCancel = vi.fn();

renderWithProviders(<ResetModal open onCancel={dummyOnCancel} />, { preloadedState });
await renderWithProviders(<ResetModal open onCancel={dummyOnCancel} />, { preloadedState });
await userEvent.click(screen.getByText('Go back'));
expect(dummyOnCancel).toBeCalled();
});

it('should call the OnOk callback when the Reset button is clicked', async () => {
const dummyOnOk = vi.fn();

renderWithProviders(<ResetModal open onOk={dummyOnOk} />, { preloadedState });
await renderWithProviders(<ResetModal open onOk={dummyOnOk} />, { preloadedState });
await userEvent.click(screen.getByText('Reset'));
expect(dummyOnOk).toBeCalled();
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ describe('CourseBanner', () => {
vi.clearAllMocks();
});

it('should render', () => {
renderWithProviders(<CourseBanner />, { preloadedState });
it('should render', async () => {
await renderWithProviders(<CourseBanner />, { preloadedState });
expect(screen.getByText('3778 - Computer Science')).toBeInTheDocument();
expect(screen.getByText('Search for a course...')).toBeInTheDocument();
});
Expand All @@ -40,8 +40,8 @@ describe('CourseBanner', () => {
const dummyDispatch = vi.fn();
useDispatchMock.mockReturnValue(dummyDispatch);

renderWithProviders(<CourseBanner />, { preloadedState });
userEvent.type(screen.getByText('Search for a course...'), 'COMP1511');
await renderWithProviders(<CourseBanner />, { preloadedState });
await userEvent.type(screen.getByText('Search for a course...'), 'COMP1511');
await userEvent.click(await screen.findByText('COMP1511: Programming Fundamentals'));
expect(dummyDispatch).toBeCalledWith({
payload: 'COMP1511',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ describe('CourseMenu', () => {
});

it('should render', async () => {
renderWithProviders(<CourseMenu structure={structure} />);
await renderWithProviders(<CourseMenu structure={structure} />);
expect(await screen.findByText('Major - COMPA1 - Computer Science')).toBeInTheDocument();
expect(screen.getByText('Core Courses')).toBeInTheDocument();
expect(screen.getByText('0 / 66')).toBeInTheDocument();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,26 +19,26 @@ axiosMock.onGet('/courses/getCourse/COMP1511').reply(200, {
title: 'Programming Fundamentals'
});

describe('CourseMenuTitle', () => {
it('should render', () => {
renderWithProviders(<CourseMenuTitle {...defaultProps} />);
describe('CourseMenuTitle', async () => {
it('should render', async () => {
await renderWithProviders(<CourseMenuTitle {...defaultProps} />);
expect(screen.getByText('COMP1511: Programming Fundamentals')).toBeInTheDocument();
expect(screen.queryByTestId('antd-warning-icon')).not.toBeInTheDocument();
expect(screen.queryByTestId('antd-lock-icon')).not.toBeInTheDocument();
});

it('should show warning icon', () => {
renderWithProviders(<CourseMenuTitle {...defaultProps} accurate={false} />);
it('should show warning icon', async () => {
await renderWithProviders(<CourseMenuTitle {...defaultProps} accurate={false} />);
expect(screen.getByTestId('antd-warning-icon')).toBeInTheDocument();
});

it('should show lock icon', () => {
renderWithProviders(<CourseMenuTitle {...defaultProps} unlocked={false} />);
it('should show lock icon', async () => {
await renderWithProviders(<CourseMenuTitle {...defaultProps} unlocked={false} />);
expect(screen.getByTestId('antd-lock-icon')).toBeInTheDocument();
});

it('should add course to planner', async () => {
const { store } = renderWithProviders(<CourseMenuTitle {...defaultProps} accurate={false} />);
const { store } = await renderWithProviders(<CourseMenuTitle {...defaultProps} accurate={false} />);
await userEvent.click(screen.getByTestId('quick-add-cart-button'));
expect(store.getState().planner.unplanned).toEqual(['COMP1511']);
});
Expand Down
6 changes: 3 additions & 3 deletions frontend/src/pages/CourseSelector/CourseSelector.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -77,23 +77,23 @@ describe('CourseSelector', () => {
});

it('should render', async () => {
renderWithProviders(<CourseSelector />, { preloadedState });
await renderWithProviders(<CourseSelector />, { preloadedState });
expect(screen.getByText('3778 - Computer Science')).toBeInTheDocument();
expect(await screen.findByText('Major - COMPA1 - Computer Science')).toBeInTheDocument();
expect(await screen.findByText('Core Courses')).toBeInTheDocument();
expect(await screen.findByText('COMP1511: Programming Fundamentals')).toBeInTheDocument();
});

it('should toggle locked courses', async () => {
renderWithProviders(<CourseSelector />, { preloadedState });
await renderWithProviders(<CourseSelector />, { preloadedState });
expect(await screen.findByText('COMP1511: Programming Fundamentals')).toBeInTheDocument();
expect(screen.queryByText('COMP2521: Data Structures and Algorithms')).not.toBeInTheDocument();
await userEvent.click(screen.getByTestId('show-all-courses'));
expect(screen.getByText('COMP2521: Data Structures and Algorithms')).toBeInTheDocument();
});

it('should be able to quick add and remove a course from the course menu', async () => {
const { store } = renderWithProviders(<CourseSelector />, { preloadedState });
const { store } = await renderWithProviders(<CourseSelector />, { preloadedState });
expect(await screen.findByText('COMP1511: Programming Fundamentals')).toBeInTheDocument();
await userEvent.click(screen.getByTestId('quick-add-cart-button'));
expect(store.getState().planner.unplanned).toEqual(['COMP1511']);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ describe('CourseTabs', () => {
});

it('should render', async () => {
renderWithProviders(<CourseTabs />, { preloadedState });
await renderWithProviders(<CourseTabs />, { preloadedState });
expect(screen.getByText('Show all courses')).toBeInTheDocument();
expect(screen.getByRole('switch').ariaChecked).toBeFalsy();
await waitFor(() => expect(screen.getByText('COMP1511')).toBeInTheDocument());
Expand All @@ -31,7 +31,7 @@ describe('CourseTabs', () => {
});

it('should remove all tabs', async () => {
renderWithProviders(<CourseTabs />, { preloadedState });
await renderWithProviders(<CourseTabs />, { preloadedState });
await userEvent.click(screen.getByTestId('delete-tabs'));
await userEvent.click(screen.getByText('Yes'));
expect(screen.queryByTestId('delete-tabs')).not.toBeInTheDocument();
Expand Down
Loading