1 // Copyright (C) The Arvados Authors. All rights reserved.
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";
10 import { Tree, TreeItem } from './tree';
11 import { ProjectResource } from '../../models/project';
12 import { mockProjectResource } from '../../models/test-utils';
14 Enzyme.configure({ adapter: new Adapter() });
16 describe("Tree component", () => {
18 it("should render ListItem", () => {
19 const project: TreeItem<ProjectResource> = {
20 data: mockProjectResource(),
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);
35 it("should render arrow", () => {
36 const project: TreeItem<ProjectResource> = {
37 data: mockProjectResource(),
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);