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:
@@ -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)
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user