mirror of
https://github.com/tenrok/vue-meta.git
synced 2026-05-17 05:49:37 +03:00
45 lines
1.3 KiB
JavaScript
45 lines
1.3 KiB
JavaScript
import { setOptions } from '../../src/shared/options'
|
|
import { defaultOptions } from '../../src/shared/constants'
|
|
import { triggerUpdate } from '../../src/client/update'
|
|
|
|
describe('shared', () => {
|
|
test('can use setOptions', () => {
|
|
const keyName = 'MY KEY'
|
|
let options = { keyName }
|
|
options = setOptions(options)
|
|
|
|
expect(options.keyName).toBe(keyName)
|
|
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)
|
|
})
|
|
})
|