-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.test.ts
151 lines (103 loc) · 4.13 KB
/
index.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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
import {
People,
copyPeopleArray,
addAge,
removeAge,
removeAgeWithDestructure,
removeAgeSimplifiedReturn,
changeNameAlias,
arrayOfStringNames
} from "./index";
describe('copyPeopleArray', () => {
it('should return an empty array', () => {
const empty_people_list: ReadonlyArray<People> = [];
const expected: ReadonlyArray<People> = [];
const actual = copyPeopleArray(empty_people_list);
expect(actual).toEqual(expected);
});
it('should return a copy of the inputted array', () => {
const people_list: ReadonlyArray<People> = [
{ name: "Aron", age: 42 },
{ name: "Stormi", age: 24 }
];
const expected = [
{ name: "Aron", age: 42 },
{ name: "Stormi", age: 24 }
];
const actual = copyPeopleArray(people_list);
expect(actual).toEqual(expected);
});
})
describe('addAge', () => {
it('should return an array of objects with added age to each person in the ageless array', () => {
const ageless_people: ReadonlyArray<Partial<People>> = [{ name: "Aron" }, { name: "Stormi" }]
const ages: Record<string, number> = {aron: 42, stormi: 24};
const expected = [{ name: "Aron", age: 42 }, { name: "Stormi", age: 24 }];
const actual = addAge(ageless_people, ages);
expect(actual).toEqual(expected);
});
})
describe('removeAge', () => {
it('should return an empty array', () => {
const empty_people_list: ReadonlyArray<People> = [];
const expected: ReadonlyArray<People> = [];
const actual = removeAge(empty_people_list);
expect(actual).toEqual(expected);
});
it('should return an array of objects with the age key removed', () => {
const people_list = [{ name: "Aron", age: 42 }, { name: "Stormi", age: 24 }];
const expected = [{ name: "Aron" }, { name: "Stormi" }];
const actual = removeAge(people_list);
expect(actual).toEqual(expected);
});
});
describe('removeAgeWithDestructure', () => {
it('should return an empty array', () => {
const empty_people_list: ReadonlyArray<People> = [];
const expected: ReadonlyArray<People> = [];
const actual = removeAgeWithDestructure(empty_people_list);
expect(actual).toEqual(expected);
});
it('should return an array objects without an age key', () => {
const people_list = [{ name: "Aron", age: 42 }, { name: "Stormi", age: 24 }];
const expected = [{ name: "Aron" }, { name: "Stormi" }];
const actual = removeAgeWithDestructure(people_list);
expect(actual).toEqual(expected);
});
});
describe('removeAgeSimplifiedReturn', () => {
it('should return an empty array', () => {
const empty_people_list: ReadonlyArray<People> = [];
const expected: ReadonlyArray<People> = [];
const actual = removeAgeWithDestructure(empty_people_list);
expect(actual).toEqual(expected);
});
it('should return an array of objects without an age, only the name', () => {
const people_list = [{ name: "Aron", age: 42 }, { name: "Stormi", age: 24 }];
const expected: ReadonlyArray<Partial<People>> = [{ name: "Aron" }, { name: "Stormi" }];
const actual = removeAgeSimplifiedReturn(people_list);
expect(actual).toEqual(expected);
});
it('should return an array of objects with a simplified return statement', () => {
const people_list = [{ name: "Aron", age: 42 }, { name: "Stormi", age: 24 }];
const expected = [{ name: "Aron" }, { name: "Stormi" }]
const actual = removeAgeSimplifiedReturn(people_list);
expect(actual).toEqual(expected);
});
});
describe('changeNameAlias', () => {
it('should return an array with name key re-named to id', () => {
const people_list = [{ name: "Aron", age: 42 }, { name: "Stormi", age: 24 }];
const expected = [{ id: "Aron", age: 42 }, { id: "Stormi", age: 24 }]
const actual = changeNameAlias(people_list);
expect(actual).toEqual(expected);
});
});
describe('arrayOfStringNames', () => {
it('should return an array of strings of people names', () => {
const people_list = [{ name: "Aron", age: 42 }, { name: "Stormi", age: 24 }];
const expected = ["Aron", "Stormi"]
const actual = arrayOfStringNames(people_list);
expect(actual).toEqual(expected);
});
});