forked from openedx/frontend-app-authoring
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.test.tsx
More file actions
60 lines (52 loc) · 1.98 KB
/
index.test.tsx
File metadata and controls
60 lines (52 loc) · 1.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
import { render, initializeMocks } from '@src/testUtils';
import renderer from 'react-test-renderer';
import { COURSE_BLOCK_NAMES } from '@src/constants';
import CourseUnitHeaderActionsSlot from '.';
jest.mock('CourseAuthoring/course-unit/header-navigations/HeaderNavigations', () => 'HeaderNavigations');
jest.mock('@openedx/frontend-plugin-framework', () => ({
PluginSlot: 'PluginSlot',
}));
// Slot properties that are required for the default HeaderNavigation component
const headerNavProps = {
headerNavigationsActions: {
handleViewLive: jest.fn(),
handlePreview: jest.fn(),
handleEdit: jest.fn(),
},
category: 'vertical',
unitTitle: 'Mock Unit',
isUnitVerticalType: false,
verticalBlocks: [],
isPublished: true,
};
describe('CourseUnitHeaderActionsSlot', () => {
beforeEach(() => initializeMocks());
test('pluginProps are set correctly', () => {
const { container } = render(<CourseUnitHeaderActionsSlot {...headerNavProps} />);
expect(container.querySelector('pluginslot')).toBeInTheDocument();
expect(container.querySelector('headernavigations')).toBeInTheDocument();
expect(container.querySelector('headernavigations')?.getAttribute('category')).toBe('vertical');
});
test('isUnitVerticalType is set correctly', () => {
let component = renderer.create(
<CourseUnitHeaderActionsSlot
unitTitle="Mock Title"
verticalBlocks={[]}
category="library"
headerNavigationsActions={headerNavProps.headerNavigationsActions}
isPublished
/>,
);
expect(component.toJSON().props.pluginProps.isUnitVerticalType).toEqual(false);
component = renderer.create(
<CourseUnitHeaderActionsSlot
unitTitle="Mock Title"
verticalBlocks={[]}
category={COURSE_BLOCK_NAMES.vertical.id}
headerNavigationsActions={headerNavProps.headerNavigationsActions}
isPublished
/>,
);
expect(component.toJSON().props.pluginProps.isUnitVerticalType).toEqual(true);
});
});