// Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: AGPL-3.0 import * as React from 'react'; import { mount } from 'enzyme'; import * as Enzyme from 'enzyme'; import * as Adapter from 'enzyme-adapter-react-16'; import ListItemIcon from '@material-ui/core/ListItemIcon'; import { Collapse } from '@material-ui/core'; import ProjectTree from './project-tree'; import { TreeItem } from '../tree/tree'; import { Project } from '../../models/project'; Enzyme.configure({ adapter: new Adapter() }); describe("ProjectTree component", () => { it("checks is there ListItemIcon in the ProjectTree component", () => { const project: TreeItem = { data: { name: "sample name", createdAt: "2018-06-12", modifiedAt: "2018-06-13", uuid: "uuid", ownerUuid: "ownerUuid", href: "href", }, id: "3", open: true, active: true }; const wrapper = mount( { }} />); expect(wrapper.find(ListItemIcon).length).toEqual(1); }); it("checks are there two ListItemIcon's in the ProjectTree component", () => { const project: Array> = [ { data: { name: "sample name", createdAt: "2018-06-12", modifiedAt: "2018-06-13", uuid: "uuid", ownerUuid: "ownerUuid", href: "href", }, id: "3", open: false, active: true }, { data: { name: "sample name", createdAt: "2018-06-12", modifiedAt: "2018-06-13", uuid: "uuid", ownerUuid: "ownerUuid", href: "href", }, id: "3", open: false, active: true } ]; const wrapper = mount( { }} />); expect(wrapper.find(ListItemIcon).length).toEqual(2); }); it("check ProjectTree, when open is changed", () => { const project: TreeItem = { data: { name: "sample name", createdAt: "2018-06-12", modifiedAt: "2018-06-13", uuid: "uuid", ownerUuid: "ownerUuid", href: "href", }, id: "3", open: true, active: true, items: [ { data: { name: "sample name", createdAt: "2018-06-12", modifiedAt: "2018-06-13", uuid: "uuid", ownerUuid: "ownerUuid", href: "href", }, id: "4", open: false, active: true } ] }; const wrapper = mount( { }} />); wrapper.setState({open: true }); expect(wrapper.find(Collapse).length).toEqual(1); }); });