Skip to content

Commit 7074426

Browse files
test: fix completely broken tests
1 parent f5c54fc commit 7074426

4 files changed

Lines changed: 23 additions & 15 deletions

File tree

src/pages-and-resources/pages/PageCard.test.jsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import { getApiWaffleFlagsUrl } from '../../data/api';
1111

1212
import PagesAndResourcesProvider from '../PagesAndResourcesProvider';
1313

14-
let container;
1514
let axiosMock;
1615
const courseId = '123';
1716
const mockPageConfig = [
@@ -36,12 +35,11 @@ const mockPageConfig = [
3635
];
3736

3837
const renderComponent = () => {
39-
const wrapper = render(
38+
render(
4039
<PagesAndResourcesProvider courseId={courseId}>
4140
<PageGrid pages={mockPageConfig} />
4241
</PagesAndResourcesProvider>,
4342
);
44-
container = wrapper.container;
4543
};
4644

4745
describe('LiveSettings', () => {
@@ -61,15 +59,15 @@ describe('LiveSettings', () => {
6159
it('should render three cards', async () => {
6260
renderComponent();
6361
await waitFor(() => {
64-
expect(screen.queryAllByRole(container, 'button')).toHaveLength(3);
62+
expect(screen.queryAllByRole('button')).toHaveLength(3);
6563
});
6664
});
6765

6866
it('should navigate to legacyLink', async () => {
6967
renderComponent();
7068
const textbookPagePath = mockPageConfig[0][1];
7169
await waitFor(() => {
72-
const textbookSettingsButton = screen.queryAllByRole(container, 'link')[1];
70+
const textbookSettingsButton = screen.queryAllByRole('link')[1];
7371
expect(textbookSettingsButton).toHaveAttribute('href', textbookPagePath);
7472
});
7573
});

src/schedule-and-details/instructors-section/InstructorsSection.test.jsx

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -53,28 +53,38 @@ describe('<InstructorsSection />', () => {
5353
});
5454

5555
it('should create another instructor form on click Add new instructor', async () => {
56-
const { getAllByRole, getByRole } = render(<RootWrapper {...props} />);
57-
const addButton = getByRole('button', { name: instructorMessages.instructorDelete.defaultMessage });
58-
act(() => {
59-
fireEvent.click(addButton);
60-
});
56+
const { getAllByRole, getByRole, rerender } = render(<RootWrapper {...props} />);
57+
const addButton = getByRole('button', { name: messages.instructorAdd.defaultMessage });
58+
fireEvent.click(addButton);
59+
60+
const newInstructors = [
61+
props.instructors[0],
62+
{
63+
bio: '',
64+
image: '',
65+
name: '',
66+
organization: '',
67+
title: '',
68+
},
69+
];
70+
expect(onChangeMock).toHaveBeenCalledWith({ instructors: newInstructors }, 'instructorInfo');
6171

72+
rerender(<RootWrapper {...props} instructors={newInstructors} />);
6273
await waitFor(() => {
6374
const deleteButtons = getAllByRole('button', { name: instructorMessages.instructorDelete.defaultMessage });
6475
expect(deleteButtons.length).toBe(2);
6576
});
6677
});
6778

6879
it('should delete instructor form on click Delete', async () => {
69-
const { getAllByRole, getByRole } = render(<RootWrapper {...props} />);
80+
const { queryAllByRole, getByRole, rerender } = render(<RootWrapper {...props} />);
7081
const deleteButton = getByRole('button', { name: instructorMessages.instructorDelete.defaultMessage });
71-
act(() => {
72-
fireEvent.click(deleteButton);
73-
});
82+
fireEvent.click(deleteButton);
7483

7584
expect(onChangeMock).toHaveBeenCalledWith({ instructors: [] }, 'instructorInfo');
85+
rerender(<RootWrapper {...props} instructors={[]} />);
7686
await waitFor(() => {
77-
const deleteButtons = getAllByRole('button', { name: instructorMessages.instructorDelete.defaultMessage });
87+
const deleteButtons = queryAllByRole('button', { name: instructorMessages.instructorDelete.defaultMessage });
7888
expect(deleteButtons.length).toBe(0);
7989
});
8090
});

src/schedule-and-details/instructors-section/instructor-container/messages.js renamed to src/schedule-and-details/instructors-section/instructor-container/messages.ts

File renamed without changes.

src/schedule-and-details/instructors-section/messages.js renamed to src/schedule-and-details/instructors-section/messages.ts

File renamed without changes.

0 commit comments

Comments
 (0)