1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import * as React from 'react';
6 import { mount } from 'enzyme';
7 import * as Enzyme from 'enzyme';
8 import * as Adapter from 'enzyme-adapter-react-16';
9 import ListItemIcon from '@material-ui/core/ListItemIcon';
10 import { Collapse } from '@material-ui/core';
11 import CircularProgress from '@material-ui/core/CircularProgress';
13 import ProjectTree from './project-tree';
14 import { TreeItem } from '../../components/tree/tree';
15 import { Project } from '../../models/project';
16 Enzyme.configure({ adapter: new Adapter() });
18 describe("ProjectTree component", () => {
20 it("should render ListItemIcon", () => {
21 const project: TreeItem<Project> = {
24 createdAt: "2018-06-12",
25 modifiedAt: "2018-06-13",
27 ownerUuid: "ownerUuid",
36 const wrapper = mount(<ProjectTree projects={[project]} toggleOpen={jest.fn()} toggleActive={jest.fn()} />);
38 expect(wrapper.find(ListItemIcon)).toHaveLength(1);
41 it("should render 2 ListItemIcons", () => {
42 const project: Array<TreeItem<Project>> = [
46 createdAt: "2018-06-12",
47 modifiedAt: "2018-06-13",
49 ownerUuid: "ownerUuid",
61 createdAt: "2018-06-12",
62 modifiedAt: "2018-06-13",
64 ownerUuid: "ownerUuid",
74 const wrapper = mount(<ProjectTree projects={project} toggleOpen={jest.fn()} toggleActive={jest.fn()} />);
76 expect(wrapper.find(ListItemIcon)).toHaveLength(2);
79 it("should render Collapse", () => {
80 const project: Array<TreeItem<Project>> = [
84 createdAt: "2018-06-12",
85 modifiedAt: "2018-06-13",
87 ownerUuid: "ownerUuid",
99 createdAt: "2018-06-12",
100 modifiedAt: "2018-06-13",
102 ownerUuid: "ownerUuid",
114 const wrapper = mount(<ProjectTree projects={project} toggleOpen={jest.fn()} toggleActive={jest.fn()}/>);
116 expect(wrapper.find(Collapse)).toHaveLength(1);
119 it("should render CircularProgress", () => {
120 const project: TreeItem<Project> = {
123 createdAt: "2018-06-12",
124 modifiedAt: "2018-06-13",
126 ownerUuid: "ownerUuid",
135 const wrapper = mount(<ProjectTree projects={[project]} toggleOpen={jest.fn()} toggleActive={jest.fn()} />);
137 expect(wrapper.find(CircularProgress)).toHaveLength(1);