1
1
/* eslint-disable no-undef, react/no-multi-comp, no-console */
2
- import Tree , { TreeNode } from 'rc-tree' ;
3
2
import React from 'react' ;
4
3
import { render , fireEvent , act } from '@testing-library/react' ;
5
4
6
- import TreeSelect , { SHOW_ALL , SHOW_CHILD , SHOW_PARENT , TreeNode as SelectNode } from '../src' ;
7
- import { selectNode } from './util' ;
5
+ import TreeSelect from '../src' ;
8
6
9
7
describe ( 'TreeSelect.loadData' , ( ) => {
10
8
it ( 'keep sync' , async ( ) => {
11
- let renderTimes = 0 ;
12
- let calledLastId : number | null = null ;
13
-
14
9
const Demo = ( ) => {
15
10
const [ treeData , setTreeData ] = React . useState ( [
16
11
{
@@ -20,17 +15,15 @@ describe('TreeSelect.loadData', () => {
20
15
} ,
21
16
] ) ;
22
17
23
- renderTimes += 1 ;
24
- const renderId = renderTimes ;
25
-
26
18
const loadData = async ( ) => {
27
- calledLastId = renderId ;
19
+ const nextId = treeData . length ;
20
+
28
21
setTreeData ( [
29
22
...treeData ,
30
23
{
31
- title : `${ renderId } ` ,
32
- value : renderId ,
33
- isLeaf : true ,
24
+ title : `${ nextId } ` ,
25
+ value : nextId ,
26
+ isLeaf : false ,
34
27
} ,
35
28
] ) ;
36
29
} ;
@@ -40,18 +33,14 @@ describe('TreeSelect.loadData', () => {
40
33
41
34
render ( < Demo /> ) ;
42
35
43
- console . log ( document . body . innerHTML ) ;
44
-
45
- fireEvent . click ( document . querySelector ( '.rc-tree-select-tree-switcher_close' ) ) ;
46
- await act ( async ( ) => {
47
- await Promise . resolve ( ) ;
48
- } ) ;
49
- expect ( calledLastId ) . toBe ( renderTimes ) ;
50
-
51
- fireEvent . click ( document . querySelector ( '.rc-tree-select-tree-switcher_close' ) ) ;
52
- await act ( async ( ) => {
53
- await Promise . resolve ( ) ;
54
- } ) ;
55
- expect ( calledLastId ) . toBe ( renderTimes ) ;
36
+ for ( let i = 0 ; i < 5 ; i += 1 ) {
37
+ fireEvent . click ( document . querySelector ( '.rc-tree-select-tree-switcher_close' ) ) ;
38
+ await act ( async ( ) => {
39
+ await Promise . resolve ( ) ;
40
+ } ) ;
41
+ expect (
42
+ document . querySelectorAll ( '.rc-tree-select-tree-list .rc-tree-select-tree-treenode' ) ,
43
+ ) . toHaveLength ( 2 + i ) ;
44
+ }
56
45
} ) ;
57
46
} ) ;
0 commit comments