@@ -58,4 +58,55 @@ describe('table row select', () => {
58
58
expect ( wrapper . emitted ( 'row-selected' ) . length ) . toBe ( 3 )
59
59
expect ( wrapper . emitted ( 'row-selected' ) [ 2 ] [ 0 ] ) . toEqual ( [ ] )
60
60
} )
61
+
62
+ it ( 'select mode multi works' , async ( ) => {
63
+ const wrapper = mount ( Table , {
64
+ propsData : {
65
+ fields : testFields ,
66
+ items : testItems ,
67
+ selectable : true ,
68
+ selectMode : 'single'
69
+ }
70
+ } )
71
+ expect ( wrapper ) . toBeDefined ( )
72
+ await wrapper . vm . $nextTick ( )
73
+ expect ( wrapper . emitted ( 'row-selected' ) ) . not . toBeDefined ( )
74
+
75
+ // Click first row
76
+ wrapper
77
+ . findAll ( 'tbody > tr' )
78
+ . at ( 0 )
79
+ . trigger ( 'click' )
80
+ await wrapper . vm . $nextTick ( )
81
+ expect ( wrapper . emitted ( 'row-selected' ) ) . toBeDefined ( )
82
+ expect ( wrapper . emitted ( 'row-selected' ) . length ) . toBe ( 1 )
83
+ expect ( wrapper . emitted ( 'row-selected' ) [ 0 ] [ 0 ] ) . toEqual ( [ testItems [ 0 ] ] )
84
+
85
+ // Click third row
86
+ wrapper
87
+ . findAll ( 'tbody > tr' )
88
+ . at ( 2 )
89
+ . trigger ( 'click' )
90
+ await wrapper . vm . $nextTick ( )
91
+ expect ( wrapper . emitted ( 'row-selected' ) . length ) . toBe ( 2 )
92
+ expect ( wrapper . emitted ( 'row-selected' ) [ 1 ] [ 0 ] ) . toEqual ( [ testItems [ 0 ] , testItems [ 2 ] ] )
93
+
94
+ // Click third row again
95
+ wrapper
96
+ . findAll ( 'tbody > tr' )
97
+ . at ( 2 )
98
+ . trigger ( 'click' )
99
+ await wrapper . vm . $nextTick ( )
100
+ expect ( wrapper . emitted ( 'row-selected' ) . length ) . toBe ( 3 )
101
+ expect ( wrapper . emitted ( 'row-selected' ) [ 2 ] [ 0 ] ) . toEqual ( [ testItems [ 0 ] ] )
102
+
103
+ // Click first row again
104
+ wrapper
105
+ . findAll ( 'tbody > tr' )
106
+ . at ( 0 )
107
+ . trigger ( 'click' )
108
+ await wrapper . vm . $nextTick ( )
109
+ expect ( wrapper . emitted ( 'row-selected' ) . length ) . toBe ( 4 )
110
+ expect ( wrapper . emitted ( 'row-selected' ) [ 3 ] [ 0 ] ) . toEqual ( [ ] )
111
+ } )
61
112
} )
0 commit comments