2
0
mirror of https://github.com/tenrok/vue-meta.git synced 2026-06-13 00:42:25 +03:00

feat: add options debounceWait

This commit is contained in:
pimlie
2019-09-17 11:59:28 +02:00
committed by Pim
parent 54ea6c6b33
commit d43b77cce6
8 changed files with 69 additions and 13 deletions
+30
View File
@@ -1,5 +1,6 @@
import { setOptions } from '../../src/shared/options'
import { defaultOptions } from '../../src/shared/constants'
import { triggerUpdate } from '../../src/client/update'
describe('shared', () => {
test('can use setOptions', () => {
@@ -11,4 +12,33 @@ describe('shared', () => {
expect(options.contentKeyName).toBeDefined()
expect(options.contentKeyName).toBe(defaultOptions.contentKeyName)
})
test('options.debounceWait is used', () => {
jest.useFakeTimers()
const refresh = jest.fn()
const componentMock = {
_vueMeta: {
initialized: true,
pausing: false
},
$meta: () => ({ refresh })
}
triggerUpdate({ debounceWait: 0 }, componentMock, 'test')
expect(refresh).toHaveBeenCalledTimes(1)
triggerUpdate({}, componentMock, 'test')
expect(refresh).toHaveBeenCalledTimes(1)
jest.advanceTimersByTime(11)
expect(refresh).toHaveBeenCalledTimes(2)
triggerUpdate({ debounceWait: 69420 }, componentMock, 'test')
expect(refresh).toHaveBeenCalledTimes(2)
jest.advanceTimersByTime(11)
expect(refresh).toHaveBeenCalledTimes(2)
jest.advanceTimersByTime(69500)
expect(refresh).toHaveBeenCalledTimes(3)
})
})