// SPDX-License-Identifier: AGPL-3.0
import * as React from 'react';
-import { mount } from 'enzyme';
import * as Enzyme from 'enzyme';
+import { mount } 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 '../../components/tree/tree';
-import { Project } from '../../models/project';
+import { ProjectResource } from '../../models/project';
+import { mockProjectResource } from '../../models/test-utils';
+
Enzyme.configure({ adapter: new Adapter() });
describe("ProjectTree component", () => {
it("should render ListItemIcon", () => {
- const project: TreeItem<Project> = {
- data: {
- name: "sample name",
- createdAt: "2018-06-12",
- modifiedAt: "2018-06-13",
- uuid: "uuid",
- ownerUuid: "ownerUuid",
- href: "href",
- },
+ const project: TreeItem<ProjectResource> = {
+ data: mockProjectResource(),
id: "3",
open: true,
active: true,
status: 1
};
- const wrapper = mount(<ProjectTree projects={[project]} toggleProjectTreeItem={() => { }} />);
+ const wrapper = mount(<ProjectTree
+ projects={[project]}
+ toggleOpen={jest.fn()}
+ toggleActive={jest.fn()}
+ onContextMenu={jest.fn()} />);
expect(wrapper.find(ListItemIcon)).toHaveLength(1);
});
it("should render 2 ListItemIcons", () => {
- const project: Array<TreeItem<Project>> = [
+ const project: Array<TreeItem<ProjectResource>> = [
{
- data: {
- name: "sample name",
- createdAt: "2018-06-12",
- modifiedAt: "2018-06-13",
- uuid: "uuid",
- ownerUuid: "ownerUuid",
- href: "href",
- },
+ data: mockProjectResource(),
id: "3",
open: false,
active: true,
status: 1
},
{
- data: {
- name: "sample name",
- createdAt: "2018-06-12",
- modifiedAt: "2018-06-13",
- uuid: "uuid",
- ownerUuid: "ownerUuid",
- href: "href",
- },
+ data: mockProjectResource(),
id: "3",
open: false,
active: true,
status: 1
}
];
- const wrapper = mount(<ProjectTree projects={project} toggleProjectTreeItem={() => { }} />);
+ const wrapper = mount(<ProjectTree
+ projects={project}
+ toggleOpen={jest.fn()}
+ toggleActive={jest.fn()}
+ onContextMenu={jest.fn()} />);
expect(wrapper.find(ListItemIcon)).toHaveLength(2);
});
it("should render Collapse", () => {
- const project: Array<TreeItem<Project>> = [
+ const project: Array<TreeItem<ProjectResource>> = [
{
- data: {
- name: "sample name",
- createdAt: "2018-06-12",
- modifiedAt: "2018-06-13",
- uuid: "uuid",
- ownerUuid: "ownerUuid",
- href: "href",
- },
+ data: mockProjectResource(),
id: "3",
open: true,
active: true,
status: 2,
items: [
{
- data: {
- name: "sample name",
- createdAt: "2018-06-12",
- modifiedAt: "2018-06-13",
- uuid: "uuid",
- ownerUuid: "ownerUuid",
- href: "href",
- },
+ data: mockProjectResource(),
id: "3",
open: true,
active: true,
]
}
];
- const wrapper = mount(<ProjectTree projects={project} toggleProjectTreeItem={() => { }} />);
+ const wrapper = mount(<ProjectTree
+ projects={project}
+ toggleOpen={jest.fn()}
+ toggleActive={jest.fn()}
+ onContextMenu={jest.fn()} />);
expect(wrapper.find(Collapse)).toHaveLength(1);
});
it("should render CircularProgress", () => {
- const project: TreeItem<Project> = {
- data: {
- name: "sample name",
- createdAt: "2018-06-12",
- modifiedAt: "2018-06-13",
- uuid: "uuid",
- ownerUuid: "ownerUuid",
- href: "href",
- },
+ const project: TreeItem<ProjectResource> = {
+ data: mockProjectResource(),
id: "3",
open: false,
active: true,
status: 1
};
- const wrapper = mount(<ProjectTree projects={[project]} toggleProjectTreeItem={() => { }} />);
+ const wrapper = mount(<ProjectTree
+ projects={[project]}
+ toggleOpen={jest.fn()}
+ toggleActive={jest.fn()}
+ onContextMenu={jest.fn()} />);
expect(wrapper.find(CircularProgress)).toHaveLength(1);
});