/
createSlots.spec.ts
68 lines (52 loc) 路 1.68 KB
/
createSlots.spec.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import { Slot } from '../../src/componentSlots'
import { createSlots } from '../../src/helpers/createSlots'
describe('createSlot', () => {
const slot = () => []
let record: Record<string, Slot>
beforeEach(() => {
record = {}
})
it('should return a slot', () => {
const dynamicSlot = [{ name: 'descriptor', fn: slot }]
const actual = createSlots(record, dynamicSlot)
expect(actual).toEqual({ descriptor: slot })
})
it('should attach key', () => {
const dynamicSlot = [{ name: 'descriptor', fn: slot, key: '1' }]
const actual = createSlots(record, dynamicSlot)
const ret = actual.descriptor()
// @ts-ignore
expect(ret.key).toBe('1')
})
it('should add all slots to the record', () => {
const dynamicSlot = [
{ name: 'descriptor', fn: slot },
{ name: 'descriptor2', fn: slot }
]
const actual = createSlots(record, dynamicSlot)
expect(actual).toEqual({ descriptor: slot, descriptor2: slot })
})
it('should add slot to the record when given slot is an array', () => {
const dynamicSlot = [
{ name: 'descriptor', fn: slot },
[{ name: 'descriptor2', fn: slot }]
]
const actual = createSlots(record, dynamicSlot)
expect(actual).toEqual({ descriptor: slot, descriptor2: slot })
})
it('should add each slot to the record when given slot is an array', () => {
const dynamicSlot = [
{ name: 'descriptor', fn: slot },
[
{ name: 'descriptor2', fn: slot },
{ name: 'descriptor3', fn: slot }
]
]
const actual = createSlots(record, dynamicSlot)
expect(actual).toEqual({
descriptor: slot,
descriptor2: slot,
descriptor3: slot
})
})
})