projects
/
arvados-workbench2.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'main' into 19438-resource-panel refs #19438
[arvados-workbench2.git]
/
src
/
components
/
breadcrumbs
/
breadcrumbs.test.tsx
diff --git
a/src/components/breadcrumbs/breadcrumbs.test.tsx
b/src/components/breadcrumbs/breadcrumbs.test.tsx
index 77beb49478783c6ea308d27072ad7b20da342684..f17ce3936dc7d0c5604047322df99daf107423ba 100644
(file)
--- a/
src/components/breadcrumbs/breadcrumbs.test.tsx
+++ b/
src/components/breadcrumbs/breadcrumbs.test.tsx
@@
-2,52
+2,82
@@
//
// SPDX-License-Identifier: AGPL-3.0
//
// SPDX-License-Identifier: AGPL-3.0
-import
* as
React from "react";
-import {
mount, configure
} from "enzyme";
+import React from "react";
+import {
configure, mount
} from "enzyme";
-import
* as
Adapter from "enzyme-adapter-react-16";
-import
Breadcrumbs
from "./breadcrumbs";
-import { Button } from "@material-ui/core";
+import Adapter from "enzyme-adapter-react-16";
+import
{ Breadcrumbs }
from "./breadcrumbs";
+import { Button
, MuiThemeProvider
} from "@material-ui/core";
import ChevronRightIcon from '@material-ui/icons/ChevronRight';
import ChevronRightIcon from '@material-ui/icons/ChevronRight';
+import { CustomTheme } from 'common/custom-theme';
+import { Provider } from "react-redux";
+import { combineReducers, createStore } from "redux";
configure({ adapter: new Adapter() });
describe("<Breadcrumbs />", () => {
let onClick: () => void;
configure({ adapter: new Adapter() });
describe("<Breadcrumbs />", () => {
let onClick: () => void;
-
+ let resources = {};
+ let store;
beforeEach(() => {
onClick = jest.fn();
beforeEach(() => {
onClick = jest.fn();
+ const initialAuthState = {
+ config: {
+ clusterConfig: {
+ Collections: {
+ ForwardSlashNameSubstitution: "/"
+ }
+ }
+ }
+ }
+ store = createStore(combineReducers({
+ auth: (state: any = initialAuthState, action: any) => state,
+ }));
});
it("renders one item", () => {
const items = [
});
it("renders one item", () => {
const items = [
- {
label: 'breadcrumb 1'
}
+ {
label: 'breadcrumb 1', uuid: '1'
}
];
];
- const breadcrumbs = mount(<Breadcrumbs items={items} onClick={onClick} />);
+ const breadcrumbs = mount(
+ <Provider store={store}>
+ <MuiThemeProvider theme={CustomTheme}>
+ <Breadcrumbs items={items} resources={resources} onClick={onClick} onContextMenu={jest.fn()} />
+ </MuiThemeProvider>
+ </Provider>);
expect(breadcrumbs.find(Button)).toHaveLength(1);
expect(breadcrumbs.find(ChevronRightIcon)).toHaveLength(0);
});
expect(breadcrumbs.find(Button)).toHaveLength(1);
expect(breadcrumbs.find(ChevronRightIcon)).toHaveLength(0);
});
-
+
it("renders multiple items", () => {
const items = [
it("renders multiple items", () => {
const items = [
- {
label: 'breadcrumb 1'
},
- {
label: 'breadcrumb 2'
}
+ {
label: 'breadcrumb 1', uuid: '1'
},
+ {
label: 'breadcrumb 2', uuid: '2'
}
];
];
- const breadcrumbs = mount(<Breadcrumbs items={items} onClick={onClick} />);
+ const breadcrumbs = mount(
+ <Provider store={store}>
+ <MuiThemeProvider theme={CustomTheme}>
+ <Breadcrumbs items={items} resources={resources} onClick={onClick} onContextMenu={jest.fn()} />
+ </MuiThemeProvider>
+ </Provider>);
expect(breadcrumbs.find(Button)).toHaveLength(2);
expect(breadcrumbs.find(ChevronRightIcon)).toHaveLength(1);
});
expect(breadcrumbs.find(Button)).toHaveLength(2);
expect(breadcrumbs.find(ChevronRightIcon)).toHaveLength(1);
});
-
+
it("calls onClick with clicked item", () => {
const items = [
it("calls onClick with clicked item", () => {
const items = [
- {
label: 'breadcrumb 1'
},
- {
label: 'breadcrumb 2'
}
+ {
label: 'breadcrumb 1', uuid: '1'
},
+ {
label: 'breadcrumb 2', uuid: '2'
}
];
];
- const breadcrumbs = mount(<Breadcrumbs items={items} onClick={onClick} />);
+ const breadcrumbs = mount(
+ <Provider store={store}>
+ <MuiThemeProvider theme={CustomTheme}>
+ <Breadcrumbs items={items} resources={resources} onClick={onClick} onContextMenu={jest.fn()} />
+ </MuiThemeProvider>
+ </Provider>);
breadcrumbs.find(Button).at(1).simulate('click');
expect(onClick).toBeCalledWith(items[1]);
});
breadcrumbs.find(Button).at(1).simulate('click');
expect(onClick).toBeCalledWith(items[1]);
});
-
-});
\ No newline at end of file
+});