Files
cosmos-explorer/src/Explorer/Graph/GraphExplorerComponent/ReadOnlyNodePropertiesComponent.test.tsx
2021-01-20 09:15:01 -06:00

68 lines
2.1 KiB
TypeScript

import React from "react";
import { shallow } from "enzyme";
import { GraphHighlightedNodeData } from "./GraphExplorer";
import {
ReadOnlyNodePropertiesComponent,
ReadOnlyNodePropertiesComponentProps,
} from "./ReadOnlyNodePropertiesComponent";
describe("<ReadOnlyNodePropertiesComponent />", () => {
const id = "myId";
const label = "myLabel";
const mockNode: GraphHighlightedNodeData = {
id: id,
label: label,
properties: {
key1: ["value1"],
key2: ["value2"],
},
areNeighborsUnknown: false,
sources: [],
targets: [],
};
it("renders id", () => {
const props: ReadOnlyNodePropertiesComponentProps = { node: mockNode };
const wrapper = shallow(<ReadOnlyNodePropertiesComponent {...props} />);
expect(wrapper.find(".vertexId").text()).toBe(id);
});
it("renders label", () => {
const props: ReadOnlyNodePropertiesComponentProps = { node: mockNode };
const wrapper = shallow(<ReadOnlyNodePropertiesComponent {...props} />);
expect(wrapper.find(".vertexLabel").text()).toBe(label);
});
it("renders properties (single value)", () => {
const props: ReadOnlyNodePropertiesComponentProps = { node: mockNode };
const wrapper = shallow(<ReadOnlyNodePropertiesComponent {...props} />);
expect(wrapper).toMatchSnapshot();
});
it("renders properties (with multiple values)", () => {
const mockNode2 = {
...mockNode,
properties: {
key3: ["abcd", 1234, true, false, undefined, null],
},
};
const props: ReadOnlyNodePropertiesComponentProps = { node: mockNode2 };
const wrapper = shallow(<ReadOnlyNodePropertiesComponent {...props} />);
expect(wrapper).toMatchSnapshot();
});
it("renders unicode", () => {
const mockNode2 = {
...mockNode,
properties: {
key4: ["あきら, アキラ,安喜良"],
key5: ["Véronique"],
},
};
const props: ReadOnlyNodePropertiesComponentProps = { node: mockNode2 };
const wrapper = shallow(<ReadOnlyNodePropertiesComponent {...props} />);
expect(wrapper).toMatchSnapshot();
});
});