Files
xen-orchestra/@vates/disposable/debounceResource.test.js
2022-10-24 17:46:27 +02:00

33 lines
666 B
JavaScript

'use strict'
const { describe, it } = require('test')
const { useFakeTimers, spy, assert } = require('sinon')
const { createDebounceResource } = require('./debounceResource')
const clock = useFakeTimers()
describe('debounceResource()', () => {
it('calls the resource disposer after 10 seconds', async () => {
const debounceResource = createDebounceResource()
const delay = 10e3
const dispose = spy()
const resource = await debounceResource(
Promise.resolve({
value: '',
dispose,
}),
delay
)
resource.dispose()
assert.notCalled(dispose)
clock.tick(delay)
assert.called(dispose)
})
})