Skip to content

Commit f9e66d2

Browse files
authored
Update table-tbody-row-events.spec.js
1 parent 64703ac commit f9e66d2

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed

src/components/table/table-tbody-row-events.spec.js

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,4 +165,74 @@ describe('table tbody row events', () => {
165165
$rows.at(1).trigger('contextmenu')
166166
expect(wrapper.emitted('row-contextmenu')).not.toBeDefined()
167167
})
168+
169+
it('should emit row-hovered event when a row is hovered', async () => {
170+
const wrapper = mount(Table, {
171+
propsData: {
172+
fields: testFields,
173+
items: testItems
174+
}
175+
})
176+
expect(wrapper).toBeDefined()
177+
const $rows = wrapper.findAll('tbody > tr')
178+
expect($rows.length).toBe(3)
179+
expect(wrapper.emitted('row-hovered')).not.toBeDefined()
180+
$rows.at(1).trigger('mouseenter')
181+
expect(wrapper.emitted('row-hovered')).toBeDefined()
182+
expect(wrapper.emitted('row-hovered').length).toBe(1)
183+
expect(wrapper.emitted('row-hovered')[0][0]).toEqual(testItems[1]) /* row item */
184+
expect(wrapper.emitted('row-hovered')[0][1]).toEqual(1) /* row index */
185+
expect(wrapper.emitted('row-hovered')[0][2]).toBeInstanceOf(MouseEvent) /* event */
186+
})
187+
188+
it('should not emit row-hovered event when a row is hovered and table busy', async () => {
189+
const wrapper = mount(Table, {
190+
propsData: {
191+
fields: testFields,
192+
items: testItems,
193+
busy: true
194+
}
195+
})
196+
expect(wrapper).toBeDefined()
197+
const $rows = wrapper.findAll('tbody > tr')
198+
expect($rows.length).toBe(3)
199+
expect(wrapper.emitted('row-hovered')).not.toBeDefined()
200+
$rows.at(1).trigger('mouseenter')
201+
expect(wrapper.emitted('row-hovered')).not.toBeDefined()
202+
})
203+
204+
it('should emit row-unhovered event when a row is unhovered', async () => {
205+
const wrapper = mount(Table, {
206+
propsData: {
207+
fields: testFields,
208+
items: testItems
209+
}
210+
})
211+
expect(wrapper).toBeDefined()
212+
const $rows = wrapper.findAll('tbody > tr')
213+
expect($rows.length).toBe(3)
214+
expect(wrapper.emitted('row-unhovered')).not.toBeDefined()
215+
$rows.at(1).trigger('mouseleave')
216+
expect(wrapper.emitted('row-unhovered')).toBeDefined()
217+
expect(wrapper.emitted('row-unhovered').length).toBe(1)
218+
expect(wrapper.emitted('row-unhovered')[0][0]).toEqual(testItems[1]) /* row item */
219+
expect(wrapper.emitted('row-unhovered')[0][1]).toEqual(1) /* row index */
220+
expect(wrapper.emitted('row-unhovered')[0][2]).toBeInstanceOf(MouseEvent) /* event */
221+
})
222+
223+
it('should not emit row-unhovered event when a row is unhovered and table busy', async () => {
224+
const wrapper = mount(Table, {
225+
propsData: {
226+
fields: testFields,
227+
items: testItems,
228+
busy: true
229+
}
230+
})
231+
expect(wrapper).toBeDefined()
232+
const $rows = wrapper.findAll('tbody > tr')
233+
expect($rows.length).toBe(3)
234+
expect(wrapper.emitted('row-uhovered')).not.toBeDefined()
235+
$rows.at(1).trigger('mouseleave')
236+
expect(wrapper.emitted('row-unhovered')).not.toBeDefined()
237+
})
168238
})

0 commit comments

Comments
 (0)