[ARVADOS-WORKBENCH2] updated: 1.1.4-284-g975f9b6
Git user
git at public.curoverse.com
Fri Jul 13 03:42:11 EDT 2018
Summary of changes:
.../data-explorer/data-explorer.test.tsx | 11 ++-
src/components/data-table/data-table.test.tsx | 49 +++++------
.../details-panel-factory.tsx | 2 +-
src/components/tree/tree.test.tsx | 64 +++++++--------
src/models/kinds.ts | 12 ---
src/store/context-menu/context-menu-actions.ts | 15 ++++
src/store/context-menu/context-menu-reducer.ts | 32 ++++++++
src/store/details-panel/details-panel-action.ts | 4 +-
src/store/navigation/navigation-action.ts | 3 +-
src/store/project/project-reducer.test.ts | 3 -
.../main-app-bar/main-app-bar.test.tsx | 5 ++
.../project-tree/project-tree.test.tsx | 96 ++++++++--------------
src/views/project-panel/project-panel-item.ts | 2 +-
src/views/project-panel/project-panel.tsx | 2 +-
src/views/workbench/workbench.tsx | 2 +-
15 files changed, 151 insertions(+), 151 deletions(-)
delete mode 100644 src/models/kinds.ts
create mode 100644 src/store/context-menu/context-menu-actions.ts
create mode 100644 src/store/context-menu/context-menu-reducer.ts
via 975f9b6c2e0f6d5988c01d7dbe6e2a6214d54de6 (commit)
from a19a2cd08f80d39455d245156617a87d72bed3ec (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit 975f9b6c2e0f6d5988c01d7dbe6e2a6214d54de6
Author: Michal Klobukowski <michal.klobukowski at contractors.roche.com>
Date: Fri Jul 13 09:41:13 2018 +0200
Update Resource kind reference, update missing component props in tests
Feature #13798
Arvados-DCO-1.1-Signed-off-by: Michal Klobukowski <michal.klobukowski at contractors.roche.com>
diff --git a/src/components/data-explorer/data-explorer.test.tsx b/src/components/data-explorer/data-explorer.test.tsx
index c043082..5d4877f 100644
--- a/src/components/data-explorer/data-explorer.test.tsx
+++ b/src/components/data-explorer/data-explorer.test.tsx
@@ -7,12 +7,10 @@ import { configure, mount } from "enzyme";
import * as Adapter from 'enzyme-adapter-react-16';
import DataExplorer from "./data-explorer";
-import ContextMenu from "../context-menu/context-menu";
import ColumnSelector from "../column-selector/column-selector";
import DataTable from "../data-table/data-table";
import SearchInput from "../search-input/search-input";
import { TablePagination } from "@material-ui/core";
-import { MockItem } from "../data-table/data-table.test";
configure({ adapter: new Adapter() });
@@ -22,7 +20,7 @@ describe("<DataExplorer />", () => {
const onSearch = jest.fn();
const dataExplorer = mount(<DataExplorer
{...mockDataExplorerProps()}
- items={[{ key: "1", name: "item 1" }] as MockItem[]}
+ items={[{ name: "item 1" }]}
searchValue="search value"
onSearch={onSearch} />);
expect(dataExplorer.find(SearchInput).prop("value")).toEqual("search value");
@@ -37,7 +35,7 @@ describe("<DataExplorer />", () => {
{...mockDataExplorerProps()}
columns={columns}
onColumnToggle={onColumnToggle}
- items={[{ key: "1", name: "item 1" }] as MockItem[]} />);
+ items={[{ name: "item 1" }]} />);
expect(dataExplorer.find(ColumnSelector).prop("columns")).toBe(columns);
dataExplorer.find(ColumnSelector).prop("onColumnToggle")("columns");
expect(onColumnToggle).toHaveBeenCalledWith("columns");
@@ -48,7 +46,7 @@ describe("<DataExplorer />", () => {
const onSortToggle = jest.fn();
const onRowClick = jest.fn();
const columns = [{ name: "Column 1", render: jest.fn(), selected: true }];
- const items = [{ key: "1", name: "item 1" }] as MockItem[];
+ const items = [{ name: "item 1" }];
const dataExplorer = mount(<DataExplorer
{...mockDataExplorerProps()}
columns={columns}
@@ -79,7 +77,7 @@ describe("<DataExplorer />", () => {
const onChangeRowsPerPage = jest.fn();
const dataExplorer = mount(<DataExplorer
{...mockDataExplorerProps()}
- items={[{ key: "1", name: "item 1" }] as MockItem[]}
+ items={[{ name: "item 1" }]}
page={10}
rowsPerPage={50}
onChangePage={onChangePage}
@@ -106,6 +104,7 @@ const mockDataExplorerProps = () => ({
onFiltersChange: jest.fn(),
onSortToggle: jest.fn(),
onRowClick: jest.fn(),
+ onRowDoubleClick: jest.fn(),
onColumnToggle: jest.fn(),
onChangePage: jest.fn(),
onChangeRowsPerPage: jest.fn(),
diff --git a/src/components/data-table/data-table.test.tsx b/src/components/data-table/data-table.test.tsx
index 2ee3507..ec84aca 100644
--- a/src/components/data-table/data-table.test.tsx
+++ b/src/components/data-table/data-table.test.tsx
@@ -6,19 +6,15 @@ import * as React from "react";
import { mount, configure } from "enzyme";
import { TableHead, TableCell, Typography, TableBody, Button, TableSortLabel } from "@material-ui/core";
import * as Adapter from "enzyme-adapter-react-16";
-import DataTable, { DataColumns, DataItem } from "./data-table";
+import DataTable, { DataColumns } from "./data-table";
import DataTableFilters from "../data-table-filters/data-table-filters";
import { SortDirection } from "./data-column";
configure({ adapter: new Adapter() });
-export interface MockItem extends DataItem {
- name: string;
-}
-
describe("<DataTable />", () => {
it("shows only selected columns", () => {
- const columns: DataColumns<MockItem> = [
+ const columns: DataColumns<string> = [
{
name: "Column 1",
render: () => <span />,
@@ -37,16 +33,17 @@ describe("<DataTable />", () => {
];
const dataTable = mount(<DataTable
columns={columns}
- items={[{ key: "1", name: "item 1" }] as MockItem[]}
+ items={[{ key: "1", name: "item 1" }]}
onFiltersChange={jest.fn()}
onRowClick={jest.fn()}
+ onRowDoubleClick={jest.fn()}
onContextMenu={jest.fn()}
onSortToggle={jest.fn()} />);
expect(dataTable.find(TableHead).find(TableCell)).toHaveLength(2);
});
it("renders column name", () => {
- const columns: DataColumns<MockItem> = [
+ const columns: DataColumns<string> = [
{
name: "Column 1",
render: () => <span />,
@@ -55,16 +52,17 @@ describe("<DataTable />", () => {
];
const dataTable = mount(<DataTable
columns={columns}
- items={[{ key: "1", name: "item 1" }] as MockItem[]}
+ items={["item 1"]}
onFiltersChange={jest.fn()}
onRowClick={jest.fn()}
+ onRowDoubleClick={jest.fn()}
onContextMenu={jest.fn()}
onSortToggle={jest.fn()} />);
expect(dataTable.find(TableHead).find(TableCell).text()).toBe("Column 1");
});
it("uses renderHeader instead of name prop", () => {
- const columns: DataColumns<MockItem> = [
+ const columns: DataColumns<string> = [
{
name: "Column 1",
renderHeader: () => <span>Column Header</span>,
@@ -74,16 +72,17 @@ describe("<DataTable />", () => {
];
const dataTable = mount(<DataTable
columns={columns}
- items={[{ key: "1", name: "item 1" }] as MockItem[]}
+ items={[]}
onFiltersChange={jest.fn()}
onRowClick={jest.fn()}
+ onRowDoubleClick={jest.fn()}
onContextMenu={jest.fn()}
onSortToggle={jest.fn()} />);
expect(dataTable.find(TableHead).find(TableCell).text()).toBe("Column Header");
});
it("passes column key prop to corresponding cells", () => {
- const columns: DataColumns<MockItem> = [
+ const columns: DataColumns<string> = [
{
name: "Column 1",
key: "column-1-key",
@@ -93,9 +92,10 @@ describe("<DataTable />", () => {
];
const dataTable = mount(<DataTable
columns={columns}
- items={[{ key: "1", name: "item 1" }] as MockItem[]}
+ items={["item 1"]}
onFiltersChange={jest.fn()}
onRowClick={jest.fn()}
+ onRowDoubleClick={jest.fn()}
onContextMenu={jest.fn()}
onSortToggle={jest.fn()} />);
expect(dataTable.find(TableHead).find(TableCell).key()).toBe("column-1-key");
@@ -103,23 +103,24 @@ describe("<DataTable />", () => {
});
it("renders items", () => {
- const columns: DataColumns<MockItem> = [
+ const columns: DataColumns<string> = [
{
name: "Column 1",
- render: (item) => <Typography>{item.name}</Typography>,
+ render: (item) => <Typography>{item}</Typography>,
selected: true
},
{
name: "Column 2",
- render: (item) => <Button>{item.name}</Button>,
+ render: (item) => <Button>{item}</Button>,
selected: true
}
];
const dataTable = mount(<DataTable
columns={columns}
- items={[{ key: "1", name: "item 1" }] as MockItem[]}
+ items={["item 1"]}
onFiltersChange={jest.fn()}
onRowClick={jest.fn()}
+ onRowDoubleClick={jest.fn()}
onContextMenu={jest.fn()}
onSortToggle={jest.fn()} />);
expect(dataTable.find(TableBody).find(Typography).text()).toBe("item 1");
@@ -127,18 +128,19 @@ describe("<DataTable />", () => {
});
it("passes sorting props to <TableSortLabel />", () => {
- const columns: DataColumns<MockItem> = [{
+ const columns: DataColumns<string> = [{
name: "Column 1",
sortDirection: SortDirection.Asc,
selected: true,
- render: (item) => <Typography>{item.name}</Typography>
+ render: (item) => <Typography>{item}</Typography>
}];
const onSortToggle = jest.fn();
const dataTable = mount(<DataTable
columns={columns}
- items={[{ key: "1", name: "item 1" }] as MockItem[]}
+ items={["item 1"]}
onFiltersChange={jest.fn()}
onRowClick={jest.fn()}
+ onRowDoubleClick={jest.fn()}
onContextMenu={jest.fn()}
onSortToggle={onSortToggle} />);
expect(dataTable.find(TableSortLabel).prop("active")).toBeTruthy();
@@ -147,19 +149,20 @@ describe("<DataTable />", () => {
});
it("passes filter props to <DataTableFilter />", () => {
- const columns: DataColumns<MockItem> = [{
+ const columns: DataColumns<string> = [{
name: "Column 1",
sortDirection: SortDirection.Asc,
selected: true,
filters: [{ name: "Filter 1", selected: true }],
- render: (item) => <Typography>{item.name}</Typography>
+ render: (item) => <Typography>{item}</Typography>
}];
const onFiltersChange = jest.fn();
const dataTable = mount(<DataTable
columns={columns}
- items={[{ key: "1", name: "item 1" }] as MockItem[]}
+ items={[]}
onFiltersChange={onFiltersChange}
onRowClick={jest.fn()}
+ onRowDoubleClick={jest.fn()}
onSortToggle={jest.fn()}
onContextMenu={jest.fn()} />);
expect(dataTable.find(DataTableFilters).prop("filters")).toBe(columns[0].filters);
diff --git a/src/components/details-panel-factory/details-panel-factory.tsx b/src/components/details-panel-factory/details-panel-factory.tsx
index 4383e79..bb7d855 100644
--- a/src/components/details-panel-factory/details-panel-factory.tsx
+++ b/src/components/details-panel-factory/details-panel-factory.tsx
@@ -2,7 +2,6 @@
//
// SPDX-License-Identifier: AGPL-3.0
-import { ResourceKind } from '../../models/kinds';
import ProjectItem from './items/project-item';
import CollectionItem from './items/collection-item';
import ProcessItem from './items/process-item';
@@ -10,6 +9,7 @@ import AbstractItem from './items/abstract-item';
import EmptyItem from './items/empty-item';
import { DetailsPanelResource } from '../../views-components/details-panel/details-panel';
import { EmptyResource } from '../../models/empty';
+import { ResourceKind } from '../../models/resource';
export default class DetailsPanelFactory {
static createItem(res: DetailsPanelResource): AbstractItem {
diff --git a/src/components/tree/tree.test.tsx b/src/components/tree/tree.test.tsx
index bb0499f..9ac0511 100644
--- a/src/components/tree/tree.test.tsx
+++ b/src/components/tree/tree.test.tsx
@@ -5,51 +5,47 @@ import * as React from 'react';
import { mount } from 'enzyme';
import * as Enzyme from 'enzyme';
import * as Adapter from 'enzyme-adapter-react-16';
-import { Collapse } from '@material-ui/core';
-import CircularProgress from '@material-ui/core/CircularProgress';
import ListItem from "@material-ui/core/ListItem/ListItem";
-import Tree, {TreeItem} from './tree';
-import { Project } from '../../models/project';
+import Tree, { TreeItem } from './tree';
+import { ProjectResource } from '../../models/project';
+import { mockProjectResource } from '../../models/test-utils';
+
Enzyme.configure({ adapter: new Adapter() });
describe("Tree component", () => {
- it("should render ListItem", () => {
- const project: TreeItem<Project> = {
- data: {
- name: "sample name",
- createdAt: "2018-06-12",
- modifiedAt: "2018-06-13",
- uuid: "uuid",
- ownerUuid: "ownerUuid",
- href: "href",
- },
+ it("should render ListItem", () => {
+ const project: TreeItem<ProjectResource> = {
+ data: mockProjectResource(),
id: "3",
open: true,
- active: true,
- status: 1,
+ active: true,
+ status: 1,
};
- const wrapper = mount(<Tree render={project => <div/>} toggleItem={() => { }} items={[project]}/>)
- expect(wrapper.find(ListItem)).toHaveLength(1);
- });
-
+ const wrapper = mount(<Tree
+ render={project => <div />}
+ toggleItemOpen={jest.fn()}
+ toggleItemActive={jest.fn()}
+ onContextMenu={jest.fn()}
+ items={[project]} />);
+ expect(wrapper.find(ListItem)).toHaveLength(1);
+ });
+
it("should render arrow", () => {
- 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,
+ active: true,
+ status: 1,
};
- const wrapper = mount(<Tree render={project => <div/>} toggleItem={() => { }} items={[project]}/>)
- expect(wrapper.find('i')).toHaveLength(1);
- });
+ const wrapper = mount(<Tree
+ render={project => <div />}
+ toggleItemOpen={jest.fn()}
+ toggleItemActive={jest.fn()}
+ onContextMenu={jest.fn()}
+ items={[project]} />);
+ expect(wrapper.find('i')).toHaveLength(1);
+ });
});
diff --git a/src/models/kinds.ts b/src/models/kinds.ts
deleted file mode 100644
index 15bd622..0000000
--- a/src/models/kinds.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (C) The Arvados Authors. All rights reserved.
-//
-// SPDX-License-Identifier: AGPL-3.0
-
-export enum ResourceKind {
- Collection = "arvados#collection",
- ContainerRequest = "arvados#containerRequest",
- Group = "arvados#group",
- Process = "arvados#containerRequest",
- Project = "arvados#group",
- Workflow = "arvados#workflow"
-}
\ No newline at end of file
diff --git a/src/store/context-menu/context-menu-actions.ts b/src/store/context-menu/context-menu-actions.ts
new file mode 100644
index 0000000..89d6524
--- /dev/null
+++ b/src/store/context-menu/context-menu-actions.ts
@@ -0,0 +1,15 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
+// import { default as unionize, ofType, UnionOf } from "unionize";
+
+// const actions = unionize({
+// OPEN_CONTEXT_MENU: ofType<{position: {x: number, y: number}}>()
+// }, {
+// tag: 'type',
+// value: 'payload'
+// });
+
+// export type ContextMenuAction = UnionOf<typeof actions>;
+// export default actions;
\ No newline at end of file
diff --git a/src/store/context-menu/context-menu-reducer.ts b/src/store/context-menu/context-menu-reducer.ts
new file mode 100644
index 0000000..9a825a5
--- /dev/null
+++ b/src/store/context-menu/context-menu-reducer.ts
@@ -0,0 +1,32 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
+// import actions, { DetailsPanelAction } from "./details-panel-action";
+// import { Resource, ResourceKind } from "../../models/resource";
+
+// export interface ContextMenuState {
+// position: {
+// x: number;
+// y: number;
+// },
+// resource: {
+// uuid: string;
+// kind: ResourceKind.
+// }
+// }
+
+// const initialState = {
+// item: null,
+// isOpened: false
+// };
+
+// const reducer = (state: DetailsPanelState = initialState, action: DetailsPanelAction) =>
+// actions.match(action, {
+// default: () => state,
+// LOAD_DETAILS: () => state,
+// LOAD_DETAILS_SUCCESS: ({ item }) => ({ ...state, item }),
+// TOGGLE_DETAILS_PANEL: () => ({ ...state, isOpened: !state.isOpened })
+// });
+
+// export default reducer;
diff --git a/src/store/details-panel/details-panel-action.ts b/src/store/details-panel/details-panel-action.ts
index 647e24f..630428c 100644
--- a/src/store/details-panel/details-panel-action.ts
+++ b/src/store/details-panel/details-panel-action.ts
@@ -4,11 +4,9 @@
import { unionize, ofType, UnionOf } from "unionize";
import CommonResourceService from "../../common/api/common-resource-service";
-import { ResourceKind } from "../../models/kinds";
import { Dispatch } from "redux";
-import { groupsService } from "../../services/services";
import { serverApi } from "../../common/api/server-api";
-import { Resource } from "../../models/resource";
+import { Resource, ResourceKind } from "../../models/resource";
const actions = unionize({
TOGGLE_DETAILS_PANEL: ofType<{}>(),
diff --git a/src/store/navigation/navigation-action.ts b/src/store/navigation/navigation-action.ts
index 89ae727..d7630d7 100644
--- a/src/store/navigation/navigation-action.ts
+++ b/src/store/navigation/navigation-action.ts
@@ -10,8 +10,7 @@ import { findTreeItem } from "../project/project-reducer";
import dataExplorerActions from "../data-explorer/data-explorer-action";
import { PROJECT_PANEL_ID } from "../../views/project-panel/project-panel";
import { RootState } from "../store";
-import { ResourceKind } from "../../models/kinds";
-import { Resource } from "../../models/resource";
+import { Resource, ResourceKind } from "../../models/resource";
export const getResourceUrl = <T extends Resource>(resource: T): string => {
switch (resource.kind) {
diff --git a/src/store/project/project-reducer.test.ts b/src/store/project/project-reducer.test.ts
index 970af6c..dbac4e9 100644
--- a/src/store/project/project-reducer.test.ts
+++ b/src/store/project/project-reducer.test.ts
@@ -5,10 +5,7 @@
import projectsReducer, { getTreePath } from "./project-reducer";
import actions from "./project-action";
import { TreeItem, TreeItemStatus } from "../../components/tree/tree";
-import { ResourceKind } from "../../models/kinds";
import { mockProjectResource } from "../../models/test-utils";
-import { ProjectResource } from "../../models/project";
-import { GroupClass } from "../../models/group";
describe('project-reducer', () => {
diff --git a/src/views-components/main-app-bar/main-app-bar.test.tsx b/src/views-components/main-app-bar/main-app-bar.test.tsx
index 7bdb63b..f58b26a 100644
--- a/src/views-components/main-app-bar/main-app-bar.test.tsx
+++ b/src/views-components/main-app-bar/main-app-bar.test.tsx
@@ -29,6 +29,7 @@ describe("<MainAppBar />", () => {
<MainAppBar
user={user}
onDetailsPanelToggle={jest.fn()}
+ onContextMenu={jest.fn()}
{...{ searchText: "", breadcrumbs: [], menuItems: { accountMenu: [], helpMenu: [], anonymousMenu: [] }, onSearch: jest.fn(), onBreadcrumbClick: jest.fn(), onMenuItemClick: jest.fn() }}
/>
);
@@ -43,6 +44,7 @@ describe("<MainAppBar />", () => {
<MainAppBar
menuItems={menuItems}
onDetailsPanelToggle={jest.fn()}
+ onContextMenu={jest.fn()}
{...{ searchText: "", breadcrumbs: [], onSearch: jest.fn(), onBreadcrumbClick: jest.fn(), onMenuItemClick: jest.fn() }}
/>
);
@@ -59,6 +61,7 @@ describe("<MainAppBar />", () => {
searchText="search text"
searchDebounce={2000}
onSearch={onSearch}
+ onContextMenu={jest.fn()}
onDetailsPanelToggle={jest.fn()}
{...{ user, breadcrumbs: [], menuItems: { accountMenu: [], helpMenu: [], anonymousMenu: [] }, onBreadcrumbClick: jest.fn(), onMenuItemClick: jest.fn() }}
/>
@@ -77,6 +80,7 @@ describe("<MainAppBar />", () => {
<MainAppBar
breadcrumbs={items}
onBreadcrumbClick={onBreadcrumbClick}
+ onContextMenu={jest.fn()}
onDetailsPanelToggle={jest.fn()}
{...{ user, searchText: "", menuItems: { accountMenu: [], helpMenu: [], anonymousMenu: [] }, onSearch: jest.fn(), onMenuItemClick: jest.fn() }}
/>
@@ -94,6 +98,7 @@ describe("<MainAppBar />", () => {
<MainAppBar
menuItems={menuItems}
onMenuItemClick={onMenuItemClick}
+ onContextMenu={jest.fn()}
onDetailsPanelToggle={jest.fn()}
{...{ user, searchText: "", breadcrumbs: [], onSearch: jest.fn(), onBreadcrumbClick: jest.fn() }}
/>
diff --git a/src/views-components/project-tree/project-tree.test.tsx b/src/views-components/project-tree/project-tree.test.tsx
index 7725da5..d53f8a9 100644
--- a/src/views-components/project-tree/project-tree.test.tsx
+++ b/src/views-components/project-tree/project-tree.test.tsx
@@ -12,99 +12,67 @@ import CircularProgress from '@material-ui/core/CircularProgress';
import ProjectTree from './project-tree';
import { TreeItem } from '../../components/tree/tree';
-import { Project } from '../../models/project';
-import { ResourceKind } from "../../models/resource";
+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",
- kind: ResourceKind.PROJECT
- },
+ const project: TreeItem<ProjectResource> = {
+ data: mockProjectResource(),
id: "3",
open: true,
active: true,
status: 1
};
- const wrapper = mount(<ProjectTree projects={[project]} toggleOpen={jest.fn()} toggleActive={jest.fn()} />);
+ 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",
- kind: ResourceKind.PROJECT
- },
+ 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",
- kind: ResourceKind.PROJECT
- },
+ data: mockProjectResource(),
id: "3",
open: false,
active: true,
status: 1
}
];
- const wrapper = mount(<ProjectTree projects={project} toggleOpen={jest.fn()} toggleActive={jest.fn()} />);
+ 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",
- kind: ResourceKind.PROJECT
- },
+ 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",
- kind: ResourceKind.PROJECT
- },
+ data: mockProjectResource(),
id: "3",
open: true,
active: true,
@@ -113,28 +81,28 @@ describe("ProjectTree component", () => {
]
}
];
- const wrapper = mount(<ProjectTree projects={project} toggleOpen={jest.fn()} toggleActive={jest.fn()}/>);
+ 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",
- kind: ResourceKind.PROJECT
- },
+ const project: TreeItem<ProjectResource> = {
+ data: mockProjectResource(),
id: "3",
open: false,
active: true,
status: 1
};
- const wrapper = mount(<ProjectTree projects={[project]} toggleOpen={jest.fn()} toggleActive={jest.fn()} />);
+ const wrapper = mount(<ProjectTree
+ projects={[project]}
+ toggleOpen={jest.fn()}
+ toggleActive={jest.fn()}
+ onContextMenu={jest.fn()} />);
expect(wrapper.find(CircularProgress)).toHaveLength(1);
});
diff --git a/src/views/project-panel/project-panel-item.ts b/src/views/project-panel/project-panel-item.ts
index 4135fce..1d665a6 100644
--- a/src/views/project-panel/project-panel-item.ts
+++ b/src/views/project-panel/project-panel-item.ts
@@ -2,8 +2,8 @@
//
// SPDX-License-Identifier: AGPL-3.0
-import { ResourceKind } from "../../models/kinds";
import { GroupContentsResource } from "../../services/groups-service/groups-service";
+import { ResourceKind } from "../../models/resource";
export interface ProjectPanelItem {
uuid: string;
diff --git a/src/views/project-panel/project-panel.tsx b/src/views/project-panel/project-panel.tsx
index 01e39ed..b902cd2 100644
--- a/src/views/project-panel/project-panel.tsx
+++ b/src/views/project-panel/project-panel.tsx
@@ -11,10 +11,10 @@ import { DispatchProp, connect } from 'react-redux';
import { DataColumns } from '../../components/data-table/data-table';
import { RouteComponentProps } from 'react-router';
import { RootState } from '../../store/store';
-import { ResourceKind } from '../../models/kinds';
import { DataTableFilterItem } from '../../components/data-table-filters/data-table-filters';
import { ContainerRequestState } from '../../models/container-request';
import { SortDirection } from '../../components/data-table/data-column';
+import { ResourceKind } from '../../models/resource';
export const PROJECT_PANEL_ID = "projectPanel";
diff --git a/src/views/workbench/workbench.tsx b/src/views/workbench/workbench.tsx
index 75cc336..6972b2f 100644
--- a/src/views/workbench/workbench.tsx
+++ b/src/views/workbench/workbench.tsx
@@ -32,9 +32,9 @@ import CreateProjectDialog from "../../views-components/create-project-dialog/cr
import { authService } from '../../services/services';
import detailsPanelActions, { loadDetails } from "../../store/details-panel/details-panel-action";
-import { ResourceKind } from '../../models/kinds';
import { SidePanelIdentifiers } from '../../store/side-panel/side-panel-reducer';
import { ProjectResource } from '../../models/project';
+import { ResourceKind } from '../../models/resource';
const drawerWidth = 240;
const appBarHeight = 100;
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list