forked from antonioru/beautiful-react-diagrams
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLink.spec.js
39 lines (33 loc) · 1.42 KB
/
Link.spec.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import React from 'react';
import { render, cleanup } from '@testing-library/react';
import DiagramContext from '../dist/Context/DiagramContext';
import DiagramLink from '../dist/Diagram/Link/Link';
describe('Link component', () => {
afterEach(cleanup);
const contextMock = {
canvas: {},
ports: { 'port-foo': document.createElement('div') },
nodes: { 'node-foo': document.createElement('div') },
};
const linkMock = { input: 'foo', output: 'bar', label: 'Foo', readonly: false };
const inputMock = { type: 'port', entity: { id: 'port-foo', alignment: 'right', canLink: () => true } };
const outputMock = { type: 'node', entity: { id: 'node-foo', content: 'Foo', coordinates: [10, 20] } };
it('should render without explode', () => {
const { container } = render(
<DiagramContext.Provider value={contextMock}>
<DiagramLink link={linkMock} input={inputMock} output={outputMock} />
</DiagramContext.Provider>,
);
should.exist(container);
expect(container.querySelector('g')).to.exist;
});
it('should have default classes', () => {
const { container } = render(
<DiagramContext.Provider value={contextMock}>
<DiagramLink link={linkMock} input={inputMock} output={outputMock} />
</DiagramContext.Provider>,
);
const wrapper = container.querySelector('g');
expect(wrapper.getAttribute('class').split(' ')).to.include.members(['bi-diagram-link']);
});
});