Skip to content

Commit fa708e4

Browse files
authored
Create table-select.spec.js
1 parent ac3c79d commit fa708e4

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
import Table from './table'
2+
import defaultSortCompare from './helpers/default-sort-compare'
3+
import { mount } from '@vue/test-utils'
4+
5+
const testItems = [{ a: 1 }, { a: 2 }, { a: 3 }, { a: 4 }]
6+
const testFields = ['a']
7+
8+
describe('table row select', () => {
9+
it('should not emit row-selected event default', async () => {
10+
const wrapper = mount(Table, {
11+
propsData: {
12+
fields: testFields,
13+
items: testItems
14+
}
15+
})
16+
expect(wrapper).toBeDefined()
17+
await wrapper.vm.$nextTick()
18+
expect(wrapper.emitted('row-selected')).not.toBeDefined()
19+
})
20+
21+
it('select mode single works', async () => {
22+
const wrapper = mount(Table, {
23+
propsData: {
24+
fields: testFields,
25+
items: testItems,
26+
selectable: true,
27+
selectMode: 'single'
28+
}
29+
})
30+
expect(wrapper).toBeDefined()
31+
await wrapper.vm.$nextTick()
32+
expect(wrapper.emitted('row-selected')).not.toBeDefined()
33+
34+
// Click first row
35+
wrapper
36+
.findAll('tbody > tr')
37+
.at(0)
38+
.trigger('click')
39+
await wrapper.vm.$nextTick()
40+
expect(wrapper.emitted('row-selected')).toBeDefined()
41+
expect(wrapper.emitted('row-selected').length).toBe(1)
42+
expect(wrapper.emitted('row-selected')[0][0]).toBe([testItems[0]])
43+
44+
// Click third row
45+
wrapper
46+
.findAll('tbody > tr')
47+
.at(2)
48+
.trigger('click')
49+
await wrapper.vm.$nextTick()
50+
expect(wrapper.emitted('row-selected').length).toBe(2)
51+
expect(wrapper.emitted('row-selected')[1][0]).toBe([testItems[2]])
52+
53+
// Click third row again
54+
wrapper
55+
.findAll('tbody > tr')
56+
.at(2)
57+
.trigger('click')
58+
await wrapper.vm.$nextTick()
59+
expect(wrapper.emitted('row-selected').length).toBe(3)
60+
expect(wrapper.emitted('row-selected')[2][0]).toBe([])
61+
})
62+
})

0 commit comments

Comments
 (0)