Merge branch 'master'
[arvados-workbench2.git] / src / components / tree / tree.test.tsx
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4 import * as React from 'react';
5 import { mount } from 'enzyme';
6 import * as Enzyme from 'enzyme';
7 import * as Adapter from 'enzyme-adapter-react-16';
8 import ListItem from "@material-ui/core/ListItem/ListItem";
9
10 import { Tree, TreeItem } from './tree';
11 import { ProjectResource } from '../../models/project';
12 import { mockProjectResource } from '../../models/test-utils';
13
14 Enzyme.configure({ adapter: new Adapter() });
15
16 describe("Tree component", () => {
17
18     it("should render ListItem", () => {
19         const project: TreeItem<ProjectResource> = {
20             data: mockProjectResource(),
21             id: "3",
22             open: true,
23             active: true,
24             status: 1,
25         };
26         const wrapper = mount(<Tree
27             render={project => <div />}
28             toggleItemOpen={jest.fn()}
29             toggleItemActive={jest.fn()}
30             onContextMenu={jest.fn()}
31             items={[project]} />);
32         expect(wrapper.find(ListItem)).toHaveLength(1);
33     });
34
35     it("should render arrow", () => {
36         const project: TreeItem<ProjectResource> = {
37             data: mockProjectResource(),
38             id: "3",
39             open: true,
40             active: true,
41             status: 1,
42         };
43         const wrapper = mount(<Tree
44             render={project => <div />}
45             toggleItemOpen={jest.fn()}
46             toggleItemActive={jest.fn()}
47             onContextMenu={jest.fn()}
48             items={[project]} />);
49         expect(wrapper.find('i')).toHaveLength(1);
50     });
51 });