|
1 | 1 | import Vue from 'vue'
|
2 | 2 | import { mount } from '@vue/test-utils'
|
| 3 | +import { asyncExpect } from '@/tests/utils' |
3 | 4 | import Table from '..'
|
4 | 5 |
|
5 | 6 | function $$ (className) {
|
@@ -199,27 +200,20 @@ describe('Table.filter', () => {
|
199 | 200 | })
|
200 | 201 | })
|
201 | 202 |
|
202 |
| - it('fires change event', (done) => { |
| 203 | + it('fires change event', async () => { |
203 | 204 | const handleChange = jest.fn()
|
204 | 205 | const wrapper = mount(Table, getTableOptions({}, { change: handleChange }))
|
205 | 206 | const dropdownWrapper = mount({
|
206 | 207 | render () {
|
207 | 208 | return wrapper.find({ name: 'Trigger' }).vm.getComponent()
|
208 | 209 | },
|
209 | 210 | }, { sync: false })
|
210 |
| - new Promise((reslove) => { |
211 |
| - Vue.nextTick(() => { |
212 |
| - dropdownWrapper.find({ name: 'MenuItem' }).trigger('click') |
213 |
| - dropdownWrapper.find('.confirm').trigger('click') |
214 |
| - reslove() |
215 |
| - }) |
216 |
| - }).then(() => { |
217 |
| - Vue.nextTick(() => { |
218 |
| - expect(handleChange).toBeCalledWith({}, { name: ['boy'] }, {}) |
219 |
| - Promise.resolve() |
220 |
| - }) |
221 |
| - }).finally(() => { |
222 |
| - done() |
| 211 | + await asyncExpect(() => { |
| 212 | + dropdownWrapper.find({ name: 'MenuItem' }).trigger('click') |
| 213 | + dropdownWrapper.find('.confirm').trigger('click') |
| 214 | + }) |
| 215 | + await asyncExpect(() => { |
| 216 | + expect(handleChange).toBeCalledWith({}, { name: ['boy'] }, {}) |
223 | 217 | })
|
224 | 218 | })
|
225 | 219 |
|
@@ -266,7 +260,7 @@ describe('Table.filter', () => {
|
266 | 260 | }, 1000)
|
267 | 261 | })
|
268 | 262 |
|
269 |
| - it('works with JSX in controlled mode', (done) => { |
| 263 | + it('works with JSX in controlled mode', async () => { |
270 | 264 | const { Column } = Table
|
271 | 265 |
|
272 | 266 | const App = {
|
@@ -305,23 +299,17 @@ describe('Table.filter', () => {
|
305 | 299 | return wrapper.find({ name: 'Trigger' }).vm.getComponent()
|
306 | 300 | },
|
307 | 301 | }, { sync: false, attachToDocument: true })
|
308 |
| - |
309 |
| - new Promise((reslove) => { |
310 |
| - Vue.nextTick(() => { |
311 |
| - dropdownWrapper.find({ name: 'MenuItem' }).trigger('click') |
312 |
| - dropdownWrapper.find('.confirm').trigger('click') |
313 |
| - reslove() |
314 |
| - }) |
315 |
| - }).then(() => { |
| 302 | + await asyncExpect(() => { |
| 303 | + dropdownWrapper.find({ name: 'MenuItem' }).trigger('click') |
| 304 | + dropdownWrapper.find('.confirm').trigger('click') |
| 305 | + }) |
| 306 | + await asyncExpect(() => { |
316 | 307 | expect(renderedNames(wrapper)).toEqual(['Jack'])
|
317 | 308 | dropdownWrapper.find('.clear').trigger('click')
|
318 |
| - setTimeout(() => { |
319 |
| - expect(renderedNames(wrapper)).toEqual(['Jack', 'Lucy', 'Tom', 'Jerry']) |
320 |
| - Promise.resolve() |
321 |
| - }, 0) |
322 |
| - }).finally(() => { |
323 |
| - done() |
324 | 309 | })
|
| 310 | + await asyncExpect(() => { |
| 311 | + expect(renderedNames(wrapper)).toEqual(['Jack', 'Lucy', 'Tom', 'Jerry']) |
| 312 | + }, 0) |
325 | 313 | })
|
326 | 314 |
|
327 | 315 | it('works with grouping columns in controlled mode', (done) => {
|
|
0 commit comments