mirror of
https://github.com/koel/koel
synced 2024-11-10 06:34:14 +00:00
feat(test): add helper util tests
This commit is contained in:
parent
f1c2febd38
commit
6f0d6e8abc
2 changed files with 36 additions and 1 deletions
35
resources/assets/js/utils/helpers.spec.ts
Normal file
35
resources/assets/js/utils/helpers.spec.ts
Normal file
|
@ -0,0 +1,35 @@
|
|||
import UnitTestCase from '@/__tests__/UnitTestCase'
|
||||
import { expect, it, vi } from 'vitest'
|
||||
import { arrayify, limitBy, use } from './helpers'
|
||||
|
||||
new class extends UnitTestCase {
|
||||
protected test () {
|
||||
it('use() triggers a closure with a defined value', () => {
|
||||
const mock = vi.fn()
|
||||
use('foo', mock)
|
||||
expect(mock).toHaveBeenCalledWith('foo')
|
||||
})
|
||||
|
||||
it('use() does not trigger a closure with an undefined value', () => {
|
||||
const mock = vi.fn()
|
||||
use(undefined, mock)
|
||||
expect(mock).not.toHaveBeenCalled()
|
||||
})
|
||||
|
||||
it.each([
|
||||
['foo', ['foo']],
|
||||
[['foo', 'bar'], ['foo', 'bar']]
|
||||
])('turns the parameter into an array', (input, output) => expect(arrayify(input)).toEqual(output))
|
||||
|
||||
it.each([
|
||||
[2, 0, ['a', 'b']],
|
||||
[2, 1, ['b', 'c']],
|
||||
[1, 0, ['a']],
|
||||
[1, 2, ['c']],
|
||||
[0, 0, []],
|
||||
[0, 1, []]
|
||||
])('takes %d elements from %d position', (count, position, result) => {
|
||||
expect(limitBy(['a', 'b', 'c', 'd'], count, position)).toEqual(result)
|
||||
})
|
||||
}
|
||||
}
|
|
@ -12,4 +12,4 @@ export const arrayify = <T> (maybeArray: T | Array<T>) => ([] as Array<T>).conca
|
|||
export const noop = () => {
|
||||
}
|
||||
|
||||
export const limitBy = <T> (arr: T[], n: number, offset: number = 0): T[] => arr.slice(offset, offset + n)
|
||||
export const limitBy = <T> (arr: T[], count: number, offset: number = 0): T[] => arr.slice(offset, offset + count)
|
||||
|
|
Loading…
Reference in a new issue