@elisra-devops/docgen-data-provider 1.63.13 → 1.68.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/ci.yml +26 -9
- package/.github/workflows/release.yml +9 -10
- package/README.md +50 -24
- package/bin/helpers/tfs.d.ts +3 -0
- package/bin/helpers/tfs.js +44 -7
- package/bin/helpers/tfs.js.map +1 -1
- package/bin/modules/GitDataProvider.d.ts +10 -0
- package/bin/modules/GitDataProvider.js +10 -0
- package/bin/modules/GitDataProvider.js.map +1 -1
- package/bin/modules/TestDataProvider.js +0 -1
- package/bin/modules/TestDataProvider.js.map +1 -1
- package/bin/modules/TicketsDataProvider.d.ts +63 -24
- package/bin/modules/TicketsDataProvider.js +216 -114
- package/bin/modules/TicketsDataProvider.js.map +1 -1
- package/bin/tests/helpers/helper.test.js +279 -0
- package/bin/tests/helpers/helper.test.js.map +1 -0
- package/bin/{helpers/test → tests/helpers}/tfs.test.js +312 -49
- package/bin/tests/helpers/tfs.test.js.map +1 -0
- package/bin/tests/index.test.js +25 -0
- package/bin/tests/index.test.js.map +1 -0
- package/bin/tests/models/tfs-data.test.js +160 -0
- package/bin/tests/models/tfs-data.test.js.map +1 -0
- package/bin/{modules/test → tests/modules}/JfrogDataProvider.test.js +9 -9
- package/bin/tests/modules/JfrogDataProvider.test.js.map +1 -0
- package/bin/tests/modules/ResultDataProvider.test.js +1942 -0
- package/bin/tests/modules/ResultDataProvider.test.js.map +1 -0
- package/bin/tests/modules/gitDataProvider.test.js +1888 -0
- package/bin/tests/modules/gitDataProvider.test.js.map +1 -0
- package/bin/{modules/test → tests/modules}/managmentDataProvider.test.js +13 -1
- package/bin/tests/modules/managmentDataProvider.test.js.map +1 -0
- package/bin/tests/modules/pipelineDataProvider.test.d.ts +1 -0
- package/bin/tests/modules/pipelineDataProvider.test.js +783 -0
- package/bin/tests/modules/pipelineDataProvider.test.js.map +1 -0
- package/bin/tests/modules/testDataProvider.test.d.ts +1 -0
- package/bin/tests/modules/testDataProvider.test.js +717 -0
- package/bin/tests/modules/testDataProvider.test.js.map +1 -0
- package/bin/tests/modules/ticketsDataProvider.test.d.ts +1 -0
- package/bin/tests/modules/ticketsDataProvider.test.js +1681 -0
- package/bin/tests/modules/ticketsDataProvider.test.js.map +1 -0
- package/bin/tests/utils/DataProviderUtils.test.d.ts +1 -0
- package/bin/tests/utils/DataProviderUtils.test.js +61 -0
- package/bin/tests/utils/DataProviderUtils.test.js.map +1 -0
- package/bin/tests/utils/testStepParserHelper.test.d.ts +1 -0
- package/bin/tests/utils/testStepParserHelper.test.js +359 -0
- package/bin/tests/utils/testStepParserHelper.test.js.map +1 -0
- package/package.json +9 -1
- package/src/helpers/tfs.ts +51 -7
- package/src/modules/GitDataProvider.ts +10 -0
- package/src/modules/TestDataProvider.ts +0 -1
- package/src/modules/TicketsDataProvider.ts +298 -141
- package/src/tests/helpers/helper.test.ts +337 -0
- package/src/tests/helpers/tfs.test.ts +1092 -0
- package/src/tests/index.test.ts +28 -0
- package/src/tests/models/tfs-data.test.ts +203 -0
- package/src/tests/modules/JfrogDataProvider.test.ts +167 -0
- package/src/tests/modules/ResultDataProvider.test.ts +2571 -0
- package/src/tests/modules/gitDataProvider.test.ts +2628 -0
- package/src/{modules/test → tests/modules}/managmentDataProvider.test.ts +33 -1
- package/src/tests/modules/pipelineDataProvider.test.ts +1038 -0
- package/src/tests/modules/testDataProvider.test.ts +1046 -0
- package/src/tests/modules/ticketsDataProvider.test.ts +2204 -0
- package/src/tests/utils/DataProviderUtils.test.ts +76 -0
- package/src/tests/utils/testStepParserHelper.test.ts +437 -0
- package/tsconfig.json +1 -0
- package/bin/helpers/test/tfs.test.js.map +0 -1
- package/bin/modules/test/JfrogDataProvider.test.js.map +0 -1
- package/bin/modules/test/ResultDataProvider.test.js +0 -444
- package/bin/modules/test/ResultDataProvider.test.js.map +0 -1
- package/bin/modules/test/gitDataProvider.test.js +0 -428
- package/bin/modules/test/gitDataProvider.test.js.map +0 -1
- package/bin/modules/test/managmentDataProvider.test.js.map +0 -1
- package/bin/modules/test/pipelineDataProvider.test.js +0 -237
- package/bin/modules/test/pipelineDataProvider.test.js.map +0 -1
- package/bin/modules/test/testDataProvider.test.js +0 -234
- package/bin/modules/test/testDataProvider.test.js.map +0 -1
- package/bin/modules/test/ticketsDataProvider.test.js +0 -348
- package/bin/modules/test/ticketsDataProvider.test.js.map +0 -1
- package/src/helpers/test/tfs.test.ts +0 -748
- package/src/modules/test/JfrogDataProvider.test.ts +0 -171
- package/src/modules/test/ResultDataProvider.test.ts +0 -542
- package/src/modules/test/gitDataProvider.test.ts +0 -645
- package/src/modules/test/pipelineDataProvider.test.ts +0 -292
- package/src/modules/test/testDataProvider.test.ts +0 -318
- package/src/modules/test/ticketsDataProvider.test.ts +0 -462
- /package/bin/{helpers/test/tfs.test.d.ts → tests/helpers/helper.test.d.ts} +0 -0
- /package/bin/{modules/test/JfrogDataProvider.test.d.ts → tests/helpers/tfs.test.d.ts} +0 -0
- /package/bin/{modules/test/ResultDataProvider.test.d.ts → tests/index.test.d.ts} +0 -0
- /package/bin/{modules/test/gitDataProvider.test.d.ts → tests/models/tfs-data.test.d.ts} +0 -0
- /package/bin/{modules/test/managmentDataProvider.test.d.ts → tests/modules/JfrogDataProvider.test.d.ts} +0 -0
- /package/bin/{modules/test/pipelineDataProvider.test.d.ts → tests/modules/ResultDataProvider.test.d.ts} +0 -0
- /package/bin/{modules/test/testDataProvider.test.d.ts → tests/modules/gitDataProvider.test.d.ts} +0 -0
- /package/bin/{modules/test/ticketsDataProvider.test.d.ts → tests/modules/managmentDataProvider.test.d.ts} +0 -0
|
@@ -0,0 +1,337 @@
|
|
|
1
|
+
import { Helper, suiteData, Relations, Links, Trace } from '../../helpers/helper';
|
|
2
|
+
import { Query, Workitem } from '../../models/tfs-data';
|
|
3
|
+
|
|
4
|
+
describe('Helper', () => {
|
|
5
|
+
beforeEach(() => {
|
|
6
|
+
// Reset static state before each test
|
|
7
|
+
Helper.suitList = [];
|
|
8
|
+
Helper.level = 1;
|
|
9
|
+
Helper.first = true;
|
|
10
|
+
Helper.levelList = [];
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
describe('suiteData class', () => {
|
|
14
|
+
it('should create suiteData with correct properties', () => {
|
|
15
|
+
// Act
|
|
16
|
+
const suite = new suiteData('Test Suite', '123', '456', 2);
|
|
17
|
+
|
|
18
|
+
// Assert
|
|
19
|
+
expect(suite.name).toBe('Test Suite');
|
|
20
|
+
expect(suite.id).toBe('123');
|
|
21
|
+
expect(suite.parent).toBe('456');
|
|
22
|
+
expect(suite.level).toBe(2);
|
|
23
|
+
expect(suite.url).toBeUndefined();
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
describe('Relations class', () => {
|
|
28
|
+
it('should create Relations with empty rels array', () => {
|
|
29
|
+
// Act
|
|
30
|
+
const relations = new Relations();
|
|
31
|
+
|
|
32
|
+
// Assert
|
|
33
|
+
expect(relations.id).toBeUndefined();
|
|
34
|
+
expect(relations.rels).toEqual([]);
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
it('should allow adding relations', () => {
|
|
38
|
+
// Arrange
|
|
39
|
+
const relations = new Relations();
|
|
40
|
+
relations.id = '123';
|
|
41
|
+
|
|
42
|
+
// Act
|
|
43
|
+
relations.rels.push('456');
|
|
44
|
+
relations.rels.push('789');
|
|
45
|
+
|
|
46
|
+
// Assert
|
|
47
|
+
expect(relations.rels).toEqual(['456', '789']);
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
describe('Links class', () => {
|
|
52
|
+
it('should create Links with all properties', () => {
|
|
53
|
+
// Act
|
|
54
|
+
const link = new Links();
|
|
55
|
+
link.id = '123';
|
|
56
|
+
link.title = 'Test Link';
|
|
57
|
+
link.description = 'Test Description';
|
|
58
|
+
link.url = 'https://example.com';
|
|
59
|
+
link.type = 'Parent';
|
|
60
|
+
link.customerId = 'CUST-001';
|
|
61
|
+
|
|
62
|
+
// Assert
|
|
63
|
+
expect(link.id).toBe('123');
|
|
64
|
+
expect(link.title).toBe('Test Link');
|
|
65
|
+
expect(link.description).toBe('Test Description');
|
|
66
|
+
expect(link.url).toBe('https://example.com');
|
|
67
|
+
expect(link.type).toBe('Parent');
|
|
68
|
+
expect(link.customerId).toBe('CUST-001');
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
describe('Trace class', () => {
|
|
73
|
+
it('should create Trace with all properties', () => {
|
|
74
|
+
// Act
|
|
75
|
+
const trace = new Trace();
|
|
76
|
+
trace.id = '123';
|
|
77
|
+
trace.title = 'Test Trace';
|
|
78
|
+
trace.url = 'https://example.com';
|
|
79
|
+
trace.customerId = 'CUST-001';
|
|
80
|
+
trace.links = [];
|
|
81
|
+
|
|
82
|
+
// Assert
|
|
83
|
+
expect(trace.id).toBe('123');
|
|
84
|
+
expect(trace.title).toBe('Test Trace');
|
|
85
|
+
expect(trace.url).toBe('https://example.com');
|
|
86
|
+
expect(trace.customerId).toBe('CUST-001');
|
|
87
|
+
expect(trace.links).toEqual([]);
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
describe('findSuitesRecursive', () => {
|
|
92
|
+
const mockUrl = 'https://dev.azure.com/org/';
|
|
93
|
+
const mockProject = 'TestProject';
|
|
94
|
+
const mockPlanId = '100';
|
|
95
|
+
|
|
96
|
+
it('should find direct children of a root suite', () => {
|
|
97
|
+
// Arrange
|
|
98
|
+
const suits = [
|
|
99
|
+
{ id: '1', title: 'Root Suite', parentSuiteId: 0 },
|
|
100
|
+
{ id: '2', title: 'Child Suite 1', parentSuiteId: '1' },
|
|
101
|
+
{ id: '3', title: 'Child Suite 2', parentSuiteId: '1' },
|
|
102
|
+
];
|
|
103
|
+
|
|
104
|
+
// Act
|
|
105
|
+
const result = Helper.findSuitesRecursive(mockPlanId, mockUrl, mockProject, suits, '1', true);
|
|
106
|
+
|
|
107
|
+
// Assert
|
|
108
|
+
expect(result.length).toBe(2);
|
|
109
|
+
expect(result[0].name).toBe('Child Suite 1');
|
|
110
|
+
expect(result[0].id).toBe('2');
|
|
111
|
+
expect(result[0].parent).toBe('1');
|
|
112
|
+
expect(result[1].name).toBe('Child Suite 2');
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
it('should find nested suites recursively', () => {
|
|
116
|
+
// Arrange
|
|
117
|
+
const suits = [
|
|
118
|
+
{ id: '1', title: 'Root Suite', parentSuiteId: 0 },
|
|
119
|
+
{ id: '2', title: 'Child Suite 1', parentSuiteId: '1' },
|
|
120
|
+
{ id: '3', title: 'Grandchild Suite', parentSuiteId: '2' },
|
|
121
|
+
];
|
|
122
|
+
|
|
123
|
+
// Act
|
|
124
|
+
const result = Helper.findSuitesRecursive(mockPlanId, mockUrl, mockProject, suits, '1', true);
|
|
125
|
+
|
|
126
|
+
// Assert
|
|
127
|
+
expect(result.length).toBe(2);
|
|
128
|
+
expect(result[0].name).toBe('Child Suite 1');
|
|
129
|
+
expect(result[1].name).toBe('Grandchild Suite');
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
it('should not recurse when recursive is false', () => {
|
|
133
|
+
// Arrange
|
|
134
|
+
const suits = [
|
|
135
|
+
{ id: '1', title: 'Root Suite', parentSuiteId: 0 },
|
|
136
|
+
{ id: '2', title: 'Child Suite 1', parentSuiteId: '1' },
|
|
137
|
+
{ id: '3', title: 'Grandchild Suite', parentSuiteId: '2' },
|
|
138
|
+
];
|
|
139
|
+
|
|
140
|
+
// Act - When recursive is false and starting from root (parentSuiteId=0),
|
|
141
|
+
// the function returns early without adding children
|
|
142
|
+
const result = Helper.findSuitesRecursive(mockPlanId, mockUrl, mockProject, suits, '1', false);
|
|
143
|
+
|
|
144
|
+
// Assert - The root suite with parentSuiteId=0 doesn't get added to results
|
|
145
|
+
// and recursive=false means we return immediately
|
|
146
|
+
expect(result.length).toBe(0);
|
|
147
|
+
});
|
|
148
|
+
|
|
149
|
+
it('should handle finding a nested suite by ID', () => {
|
|
150
|
+
// Arrange
|
|
151
|
+
const suits = [
|
|
152
|
+
{ id: '1', title: 'Root Suite', parentSuiteId: 0 },
|
|
153
|
+
{ id: '2', title: 'Child Suite 1', parentSuiteId: '1' },
|
|
154
|
+
{ id: '3', title: 'Grandchild Suite', parentSuiteId: '2' },
|
|
155
|
+
];
|
|
156
|
+
|
|
157
|
+
// Act
|
|
158
|
+
const result = Helper.findSuitesRecursive(mockPlanId, mockUrl, mockProject, suits, '2', true);
|
|
159
|
+
|
|
160
|
+
// Assert
|
|
161
|
+
expect(result.length).toBe(2);
|
|
162
|
+
expect(result[0].name).toBe('Child Suite 1');
|
|
163
|
+
expect(result[1].name).toBe('Grandchild Suite');
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
it('should set correct URLs for suites', () => {
|
|
167
|
+
// Arrange
|
|
168
|
+
const suits = [
|
|
169
|
+
{ id: '1', title: 'Root Suite', parentSuiteId: 0 },
|
|
170
|
+
{ id: '2', title: 'Child Suite', parentSuiteId: '1' },
|
|
171
|
+
];
|
|
172
|
+
|
|
173
|
+
// Act
|
|
174
|
+
const result = Helper.findSuitesRecursive(mockPlanId, mockUrl, mockProject, suits, '1', true);
|
|
175
|
+
|
|
176
|
+
// Assert
|
|
177
|
+
expect(result[0].url).toBe(
|
|
178
|
+
`${mockUrl}${mockProject}/_testManagement?planId=${mockPlanId}&suiteId=2&_a=tests`
|
|
179
|
+
);
|
|
180
|
+
});
|
|
181
|
+
|
|
182
|
+
it('should return empty array when no children found', () => {
|
|
183
|
+
// Arrange
|
|
184
|
+
const suits = [{ id: '1', title: 'Root Suite', parentSuiteId: 0 }];
|
|
185
|
+
|
|
186
|
+
// Act
|
|
187
|
+
const result = Helper.findSuitesRecursive(mockPlanId, mockUrl, mockProject, suits, '1', true);
|
|
188
|
+
|
|
189
|
+
// Assert
|
|
190
|
+
expect(result).toEqual([]);
|
|
191
|
+
});
|
|
192
|
+
|
|
193
|
+
it('should handle root suite with parentSuiteId = 0', () => {
|
|
194
|
+
// Arrange
|
|
195
|
+
const suits = [
|
|
196
|
+
{ id: '1', title: 'Root Suite', parentSuiteId: 0 },
|
|
197
|
+
{ id: '2', title: 'Child Suite', parentSuiteId: '1' },
|
|
198
|
+
];
|
|
199
|
+
|
|
200
|
+
// Act - Find starting from root with recursive=true to get children
|
|
201
|
+
const result = Helper.findSuitesRecursive(mockPlanId, mockUrl, mockProject, suits, '1', true);
|
|
202
|
+
|
|
203
|
+
// Assert - Should find the child suite
|
|
204
|
+
expect(result.length).toBe(1);
|
|
205
|
+
expect(result[0].name).toBe('Child Suite');
|
|
206
|
+
});
|
|
207
|
+
|
|
208
|
+
it('should handle deeply nested suites', () => {
|
|
209
|
+
// Arrange
|
|
210
|
+
const suits = [
|
|
211
|
+
{ id: '1', title: 'Root', parentSuiteId: 0 },
|
|
212
|
+
{ id: '2', title: 'Level 1', parentSuiteId: '1' },
|
|
213
|
+
{ id: '3', title: 'Level 2', parentSuiteId: '2' },
|
|
214
|
+
{ id: '4', title: 'Level 3', parentSuiteId: '3' },
|
|
215
|
+
{ id: '5', title: 'Level 4', parentSuiteId: '4' },
|
|
216
|
+
];
|
|
217
|
+
|
|
218
|
+
// Act
|
|
219
|
+
const result = Helper.findSuitesRecursive(mockPlanId, mockUrl, mockProject, suits, '1', true);
|
|
220
|
+
|
|
221
|
+
// Assert
|
|
222
|
+
expect(result.length).toBe(4);
|
|
223
|
+
expect(result.map((s) => s.name)).toEqual(['Level 1', 'Level 2', 'Level 3', 'Level 4']);
|
|
224
|
+
});
|
|
225
|
+
|
|
226
|
+
it('should handle multiple children at same level', () => {
|
|
227
|
+
// Arrange
|
|
228
|
+
const suits = [
|
|
229
|
+
{ id: '1', title: 'Root', parentSuiteId: 0 },
|
|
230
|
+
{ id: '2', title: 'Child A', parentSuiteId: '1' },
|
|
231
|
+
{ id: '3', title: 'Child B', parentSuiteId: '1' },
|
|
232
|
+
{ id: '4', title: 'Child C', parentSuiteId: '1' },
|
|
233
|
+
{ id: '5', title: 'Grandchild A1', parentSuiteId: '2' },
|
|
234
|
+
{ id: '6', title: 'Grandchild B1', parentSuiteId: '3' },
|
|
235
|
+
];
|
|
236
|
+
|
|
237
|
+
// Act
|
|
238
|
+
const result = Helper.findSuitesRecursive(mockPlanId, mockUrl, mockProject, suits, '1', true);
|
|
239
|
+
|
|
240
|
+
// Assert
|
|
241
|
+
expect(result.length).toBe(5);
|
|
242
|
+
});
|
|
243
|
+
});
|
|
244
|
+
|
|
245
|
+
describe('LevelBuilder', () => {
|
|
246
|
+
it('should build work item hierarchy from query results', () => {
|
|
247
|
+
// Arrange
|
|
248
|
+
const mockQuery: Query = {
|
|
249
|
+
workItems: [
|
|
250
|
+
{ Source: 0, fields: [{ value: '1' }], level: 0 } as unknown as Workitem,
|
|
251
|
+
{ Source: '1', fields: [{ value: '2' }], level: 0 } as unknown as Workitem,
|
|
252
|
+
{ Source: '2', fields: [{ value: '3' }], level: 0 } as unknown as Workitem,
|
|
253
|
+
],
|
|
254
|
+
} as Query;
|
|
255
|
+
|
|
256
|
+
// Act
|
|
257
|
+
const result = Helper.LevelBuilder(mockQuery, '0');
|
|
258
|
+
|
|
259
|
+
// Assert
|
|
260
|
+
expect(result.length).toBeGreaterThan(0);
|
|
261
|
+
});
|
|
262
|
+
|
|
263
|
+
it('should set level 0 for root items with Source = 0', () => {
|
|
264
|
+
// Arrange
|
|
265
|
+
const mockQuery: Query = {
|
|
266
|
+
workItems: [{ Source: 0, fields: [{ value: '1' }], level: 0 } as unknown as Workitem],
|
|
267
|
+
} as Query;
|
|
268
|
+
|
|
269
|
+
// Act
|
|
270
|
+
const result = Helper.LevelBuilder(mockQuery, '0');
|
|
271
|
+
|
|
272
|
+
// Assert
|
|
273
|
+
expect(result[0].level).toBe(0);
|
|
274
|
+
});
|
|
275
|
+
|
|
276
|
+
it('should build hierarchy with correct levels', () => {
|
|
277
|
+
// Arrange
|
|
278
|
+
const mockQuery: Query = {
|
|
279
|
+
workItems: [
|
|
280
|
+
{ Source: 0, fields: [{ value: '1' }], level: 0 } as unknown as Workitem,
|
|
281
|
+
{ Source: '1', fields: [{ value: '2' }], level: 0 } as unknown as Workitem,
|
|
282
|
+
],
|
|
283
|
+
} as Query;
|
|
284
|
+
|
|
285
|
+
// Act
|
|
286
|
+
const result = Helper.LevelBuilder(mockQuery, '1');
|
|
287
|
+
|
|
288
|
+
// Assert
|
|
289
|
+
expect(result.length).toBe(2);
|
|
290
|
+
});
|
|
291
|
+
|
|
292
|
+
it('should handle empty work items array', () => {
|
|
293
|
+
// Arrange
|
|
294
|
+
const mockQuery = {
|
|
295
|
+
workItems: [],
|
|
296
|
+
} as unknown as Query;
|
|
297
|
+
|
|
298
|
+
// Act
|
|
299
|
+
const result = Helper.LevelBuilder(mockQuery, '0');
|
|
300
|
+
|
|
301
|
+
// Assert
|
|
302
|
+
expect(result).toEqual([]);
|
|
303
|
+
});
|
|
304
|
+
|
|
305
|
+
it('should not duplicate work items', () => {
|
|
306
|
+
// Arrange
|
|
307
|
+
const workItem = { Source: 0, fields: [{ value: '1' }], level: 0 } as unknown as Workitem;
|
|
308
|
+
const mockQuery: Query = {
|
|
309
|
+
workItems: [workItem, workItem],
|
|
310
|
+
} as Query;
|
|
311
|
+
|
|
312
|
+
// Act
|
|
313
|
+
const result = Helper.LevelBuilder(mockQuery, '0');
|
|
314
|
+
|
|
315
|
+
// Assert
|
|
316
|
+
// Should only include the work item once
|
|
317
|
+
expect(result.length).toBe(1);
|
|
318
|
+
});
|
|
319
|
+
|
|
320
|
+
it('should handle nested hierarchy', () => {
|
|
321
|
+
// Arrange
|
|
322
|
+
const mockQuery: Query = {
|
|
323
|
+
workItems: [
|
|
324
|
+
{ Source: 0, fields: [{ value: '100' }], level: 0 } as unknown as Workitem,
|
|
325
|
+
{ Source: '100', fields: [{ value: '200' }], level: 0 } as unknown as Workitem,
|
|
326
|
+
{ Source: '200', fields: [{ value: '300' }], level: 0 } as unknown as Workitem,
|
|
327
|
+
],
|
|
328
|
+
} as Query;
|
|
329
|
+
|
|
330
|
+
// Act
|
|
331
|
+
const result = Helper.LevelBuilder(mockQuery, '100');
|
|
332
|
+
|
|
333
|
+
// Assert
|
|
334
|
+
expect(result.length).toBe(3);
|
|
335
|
+
});
|
|
336
|
+
});
|
|
337
|
+
});
|