forked from hross/retro-board-creator
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathutils.test.ts
110 lines (81 loc) · 2.93 KB
/
utils.test.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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
import {getString, getInt, getBoolean, getList, parseDayOfWeek} from '../src/utils'
function getInputName(name: string): string {
return `INPUT_${name.replace(/ /g, '_').toUpperCase()}`
}
function setInput(name: string, value: string): void {
process.env[getInputName(name)] = value
}
test('test getString', async () => {
const name = 'foo_string'
expect(getString(name)).toBe('')
expect(getString(name, {default: 'bar'})).toBe('bar')
setInput(name, '')
expect(getString(name)).toBe('')
expect(getString(name, {default: 'bar'})).toBe('bar')
setInput(name, 'baz')
expect(getString(name)).toBe('baz')
expect(getString(name, {default: 'bar'})).toBe('baz')
})
test('test getInt', async () => {
const name = 'foo_int'
expect(getInt(name)).toBeNaN()
expect(getInt(name, {default: 5})).toBe(5)
setInput(name, '')
expect(getInt(name)).toBeNaN()
expect(getInt(name, {default: 5})).toBe(5)
setInput(name, '10')
expect(getInt(name)).toBe(10)
expect(getInt(name, {default: 5})).toBe(10)
})
test('test getBoolean', async () => {
const name = 'foo_boolean'
expect(getBoolean(name)).toBeFalsy()
setInput(name, '')
expect(getBoolean(name)).toBeFalsy()
setInput(name, 'false')
expect(getBoolean(name)).toBeFalsy()
setInput(name, 'true')
expect(getBoolean(name)).toBeTruthy()
setInput(name, 'TRUE')
expect(getBoolean(name)).toBeTruthy()
})
test('test getList', async () => {
const name = 'foo_list'
expect(getList(name)).toStrictEqual([])
setInput(name, '')
expect(getList(name)).toStrictEqual([])
setInput(name, 'foo')
expect(getList(name)).toStrictEqual(['foo'])
setInput(name, 'foo,bar')
expect(getList(name)).toStrictEqual(['foo', 'bar'])
setInput(name, ' foo , bar ')
expect(getList(name)).toStrictEqual(['foo', 'bar'])
})
test('test parseDayOfWeek', async () => {
expect(() => parseDayOfWeek('')).toThrowError()
expect(() => parseDayOfWeek(' ')).toThrowError()
expect(() => parseDayOfWeek('-1')).toThrowError()
expect(() => parseDayOfWeek('7')).toThrowError()
expect(parseDayOfWeek('0')).toBe(0)
expect(parseDayOfWeek('1')).toBe(1)
expect(parseDayOfWeek('2')).toBe(2)
expect(parseDayOfWeek('3')).toBe(3)
expect(parseDayOfWeek('4')).toBe(4)
expect(parseDayOfWeek('5')).toBe(5)
expect(parseDayOfWeek('6')).toBe(6)
expect(parseDayOfWeek(' 1 ')).toBe(1)
expect(parseDayOfWeek('sunday')).toBe(0)
expect(parseDayOfWeek('monday')).toBe(1)
expect(parseDayOfWeek('tuesday')).toBe(2)
expect(parseDayOfWeek('wednesday')).toBe(3)
expect(parseDayOfWeek('thursday')).toBe(4)
expect(parseDayOfWeek('friday')).toBe(5)
expect(parseDayOfWeek('saturday')).toBe(6)
expect(parseDayOfWeek(' friday ')).toBe(5)
expect(parseDayOfWeek('FRIDAY')).toBe(5)
expect(parseDayOfWeek('fri')).toBe(5)
expect(parseDayOfWeek('tu')).toBe(2)
expect(parseDayOfWeek('th')).toBe(4)
expect(() => parseDayOfWeek('t')).toThrowError()
expect(() => parseDayOfWeek('foo')).toThrowError()
})