Skip to content

Commit 8a2486a

Browse files
committed
added basic tests for FolderTree and TreeNode components
1 parent 197a4a6 commit 8a2486a

File tree

2 files changed

+102
-0
lines changed

2 files changed

+102
-0
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import React from 'react';
2+
import { mount } from 'enzyme';
3+
import FolderTree from './FolderTree';
4+
5+
import { testData } from '../../utils/testData';
6+
7+
let tree;
8+
9+
const render = ({
10+
data,
11+
onChange = console.log, // eslint-disable-line
12+
initCheckedStatus = 'unchecked',
13+
initOpenStatus = 'open',
14+
iconComponents = {},
15+
showCheckbox = true,
16+
indentPixels = 30,
17+
onNameClick = null,
18+
readOnly = false,
19+
}) => {
20+
tree = mount((
21+
<FolderTree
22+
data={ data }
23+
onChange={ onChange }
24+
initCheckedStatus={ initCheckedStatus }
25+
initOpenStatus={ initOpenStatus }
26+
iconComponents={ iconComponents }
27+
showCheckbox={ showCheckbox }
28+
indentPixels={ indentPixels }
29+
onNameClick={ onNameClick }
30+
readOnly={ readOnly }
31+
/>
32+
));
33+
};
34+
35+
test('render', () => {
36+
render({ data: testData });
37+
});
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
import React, { createContext } from 'react';
2+
import { mount } from 'enzyme';
3+
import TreeNode from './TreeNode';
4+
5+
import { initializedTestData } from '../../utils/testData';
6+
import ConfigContext from '../FolderTree/context';
7+
8+
let node;
9+
10+
const checkNode = jest.fn();
11+
const renameNode = jest.fn();
12+
const deleteNode = jest.fn();
13+
const addNode = jest.fn();
14+
const toggleOpen = jest.fn();
15+
const onNameClick = jest.fn();
16+
17+
const render = ({
18+
iconComponents = {},
19+
indentPixels = 4,
20+
showCheckbox = true,
21+
readOnly = false,
22+
23+
path,
24+
name,
25+
checked,
26+
isOpen,
27+
children,
28+
...restData
29+
}) => {
30+
const configs = {
31+
handleCheck: checkNode,
32+
handleRename: renameNode,
33+
handleDelete: deleteNode,
34+
handleAddNode: addNode,
35+
handleToggleOpen: toggleOpen,
36+
onNameClick,
37+
38+
iconComponents,
39+
indentPixels,
40+
showCheckbox,
41+
readOnly,
42+
};
43+
44+
node = mount((
45+
<ConfigContext.Provider
46+
value={ configs }
47+
>
48+
<TreeNode
49+
path={ path }
50+
name={ name }
51+
checked={ checked }
52+
isOpen={ isOpen }
53+
children={ children }
54+
{ ...restData }
55+
/>
56+
</ConfigContext.Provider>
57+
));
58+
};
59+
60+
test('render', () => {
61+
render({
62+
path: [],
63+
...initializedTestData,
64+
});
65+
});

0 commit comments

Comments
 (0)