@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.
Files changed (92) hide show
  1. package/.github/workflows/ci.yml +26 -9
  2. package/.github/workflows/release.yml +9 -10
  3. package/README.md +50 -24
  4. package/bin/helpers/tfs.d.ts +3 -0
  5. package/bin/helpers/tfs.js +44 -7
  6. package/bin/helpers/tfs.js.map +1 -1
  7. package/bin/modules/GitDataProvider.d.ts +10 -0
  8. package/bin/modules/GitDataProvider.js +10 -0
  9. package/bin/modules/GitDataProvider.js.map +1 -1
  10. package/bin/modules/TestDataProvider.js +0 -1
  11. package/bin/modules/TestDataProvider.js.map +1 -1
  12. package/bin/modules/TicketsDataProvider.d.ts +63 -24
  13. package/bin/modules/TicketsDataProvider.js +216 -114
  14. package/bin/modules/TicketsDataProvider.js.map +1 -1
  15. package/bin/tests/helpers/helper.test.js +279 -0
  16. package/bin/tests/helpers/helper.test.js.map +1 -0
  17. package/bin/{helpers/test → tests/helpers}/tfs.test.js +312 -49
  18. package/bin/tests/helpers/tfs.test.js.map +1 -0
  19. package/bin/tests/index.test.js +25 -0
  20. package/bin/tests/index.test.js.map +1 -0
  21. package/bin/tests/models/tfs-data.test.js +160 -0
  22. package/bin/tests/models/tfs-data.test.js.map +1 -0
  23. package/bin/{modules/test → tests/modules}/JfrogDataProvider.test.js +9 -9
  24. package/bin/tests/modules/JfrogDataProvider.test.js.map +1 -0
  25. package/bin/tests/modules/ResultDataProvider.test.js +1942 -0
  26. package/bin/tests/modules/ResultDataProvider.test.js.map +1 -0
  27. package/bin/tests/modules/gitDataProvider.test.js +1888 -0
  28. package/bin/tests/modules/gitDataProvider.test.js.map +1 -0
  29. package/bin/{modules/test → tests/modules}/managmentDataProvider.test.js +13 -1
  30. package/bin/tests/modules/managmentDataProvider.test.js.map +1 -0
  31. package/bin/tests/modules/pipelineDataProvider.test.d.ts +1 -0
  32. package/bin/tests/modules/pipelineDataProvider.test.js +783 -0
  33. package/bin/tests/modules/pipelineDataProvider.test.js.map +1 -0
  34. package/bin/tests/modules/testDataProvider.test.d.ts +1 -0
  35. package/bin/tests/modules/testDataProvider.test.js +717 -0
  36. package/bin/tests/modules/testDataProvider.test.js.map +1 -0
  37. package/bin/tests/modules/ticketsDataProvider.test.d.ts +1 -0
  38. package/bin/tests/modules/ticketsDataProvider.test.js +1681 -0
  39. package/bin/tests/modules/ticketsDataProvider.test.js.map +1 -0
  40. package/bin/tests/utils/DataProviderUtils.test.d.ts +1 -0
  41. package/bin/tests/utils/DataProviderUtils.test.js +61 -0
  42. package/bin/tests/utils/DataProviderUtils.test.js.map +1 -0
  43. package/bin/tests/utils/testStepParserHelper.test.d.ts +1 -0
  44. package/bin/tests/utils/testStepParserHelper.test.js +359 -0
  45. package/bin/tests/utils/testStepParserHelper.test.js.map +1 -0
  46. package/package.json +9 -1
  47. package/src/helpers/tfs.ts +51 -7
  48. package/src/modules/GitDataProvider.ts +10 -0
  49. package/src/modules/TestDataProvider.ts +0 -1
  50. package/src/modules/TicketsDataProvider.ts +298 -141
  51. package/src/tests/helpers/helper.test.ts +337 -0
  52. package/src/tests/helpers/tfs.test.ts +1092 -0
  53. package/src/tests/index.test.ts +28 -0
  54. package/src/tests/models/tfs-data.test.ts +203 -0
  55. package/src/tests/modules/JfrogDataProvider.test.ts +167 -0
  56. package/src/tests/modules/ResultDataProvider.test.ts +2571 -0
  57. package/src/tests/modules/gitDataProvider.test.ts +2628 -0
  58. package/src/{modules/test → tests/modules}/managmentDataProvider.test.ts +33 -1
  59. package/src/tests/modules/pipelineDataProvider.test.ts +1038 -0
  60. package/src/tests/modules/testDataProvider.test.ts +1046 -0
  61. package/src/tests/modules/ticketsDataProvider.test.ts +2204 -0
  62. package/src/tests/utils/DataProviderUtils.test.ts +76 -0
  63. package/src/tests/utils/testStepParserHelper.test.ts +437 -0
  64. package/tsconfig.json +1 -0
  65. package/bin/helpers/test/tfs.test.js.map +0 -1
  66. package/bin/modules/test/JfrogDataProvider.test.js.map +0 -1
  67. package/bin/modules/test/ResultDataProvider.test.js +0 -444
  68. package/bin/modules/test/ResultDataProvider.test.js.map +0 -1
  69. package/bin/modules/test/gitDataProvider.test.js +0 -428
  70. package/bin/modules/test/gitDataProvider.test.js.map +0 -1
  71. package/bin/modules/test/managmentDataProvider.test.js.map +0 -1
  72. package/bin/modules/test/pipelineDataProvider.test.js +0 -237
  73. package/bin/modules/test/pipelineDataProvider.test.js.map +0 -1
  74. package/bin/modules/test/testDataProvider.test.js +0 -234
  75. package/bin/modules/test/testDataProvider.test.js.map +0 -1
  76. package/bin/modules/test/ticketsDataProvider.test.js +0 -348
  77. package/bin/modules/test/ticketsDataProvider.test.js.map +0 -1
  78. package/src/helpers/test/tfs.test.ts +0 -748
  79. package/src/modules/test/JfrogDataProvider.test.ts +0 -171
  80. package/src/modules/test/ResultDataProvider.test.ts +0 -542
  81. package/src/modules/test/gitDataProvider.test.ts +0 -645
  82. package/src/modules/test/pipelineDataProvider.test.ts +0 -292
  83. package/src/modules/test/testDataProvider.test.ts +0 -318
  84. package/src/modules/test/ticketsDataProvider.test.ts +0 -462
  85. /package/bin/{helpers/test/tfs.test.d.ts → tests/helpers/helper.test.d.ts} +0 -0
  86. /package/bin/{modules/test/JfrogDataProvider.test.d.ts → tests/helpers/tfs.test.d.ts} +0 -0
  87. /package/bin/{modules/test/ResultDataProvider.test.d.ts → tests/index.test.d.ts} +0 -0
  88. /package/bin/{modules/test/gitDataProvider.test.d.ts → tests/models/tfs-data.test.d.ts} +0 -0
  89. /package/bin/{modules/test/managmentDataProvider.test.d.ts → tests/modules/JfrogDataProvider.test.d.ts} +0 -0
  90. /package/bin/{modules/test/pipelineDataProvider.test.d.ts → tests/modules/ResultDataProvider.test.d.ts} +0 -0
  91. /package/bin/{modules/test/testDataProvider.test.d.ts → tests/modules/gitDataProvider.test.d.ts} +0 -0
  92. /package/bin/{modules/test/ticketsDataProvider.test.d.ts → tests/modules/managmentDataProvider.test.d.ts} +0 -0
@@ -1,444 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tfs_1 = require("../../helpers/tfs");
4
- const ResultDataProvider_1 = require("../ResultDataProvider");
5
- const logger_1 = require("../../utils/logger");
6
- // Mock dependencies
7
- jest.mock('../../helpers/tfs');
8
- jest.mock('../../utils/logger');
9
- jest.mock('../../utils/testStepParserHelper');
10
- jest.mock('p-limit', () => () => (fn) => fn());
11
- describe('ResultDataProvider', () => {
12
- let resultDataProvider;
13
- const mockOrgUrl = 'https://dev.azure.com/organization/';
14
- const mockToken = 'mock-token';
15
- const mockProjectName = 'test-project';
16
- const mockTestPlanId = '12345';
17
- beforeEach(() => {
18
- jest.clearAllMocks();
19
- resultDataProvider = new ResultDataProvider_1.default(mockOrgUrl, mockToken);
20
- });
21
- describe('Utility methods', () => {
22
- describe('flattenSuites', () => {
23
- it('should flatten a hierarchical suite structure into a single-level array', () => {
24
- // Arrange
25
- const suites = [
26
- {
27
- id: 1,
28
- name: 'Parent 1',
29
- children: [
30
- { id: 2, name: 'Child 1' },
31
- {
32
- id: 3,
33
- name: 'Child 2',
34
- children: [{ id: 4, name: 'Grandchild 1' }],
35
- },
36
- ],
37
- },
38
- { id: 5, name: 'Parent 2' },
39
- ];
40
- // Act
41
- const result = resultDataProvider.flattenSuites(suites);
42
- // Assert
43
- expect(result).toHaveLength(5);
44
- expect(result.map((s) => s.id)).toEqual([1, 2, 3, 4, 5]);
45
- });
46
- });
47
- describe('filterSuites', () => {
48
- it('should filter suites based on selected suite IDs', () => {
49
- // Arrange
50
- const testSuites = [
51
- { id: 1, name: 'Suite 1', parentSuite: { id: 0 } },
52
- { id: 2, name: 'Suite 2', parentSuite: { id: 1 } },
53
- { id: 3, name: 'Suite 3', parentSuite: { id: 1 } },
54
- ];
55
- const selectedSuiteIds = [1, 3];
56
- // Act
57
- const result = resultDataProvider.filterSuites(testSuites, selectedSuiteIds);
58
- // Assert
59
- expect(result).toHaveLength(2);
60
- expect(result.map((s) => s.id)).toEqual([1, 3]);
61
- });
62
- it('should return all suites with parent when no suite IDs are selected', () => {
63
- // Arrange
64
- const testSuites = [
65
- { id: 1, name: 'Suite 1', parentSuite: { id: 0 } },
66
- { id: 2, name: 'Suite 2', parentSuite: { id: 1 } },
67
- { id: 3, name: 'Suite 3', parentSuite: null },
68
- ];
69
- // Act
70
- const result = resultDataProvider.filterSuites(testSuites);
71
- // Assert
72
- expect(result).toHaveLength(2);
73
- expect(result.map((s) => s.id)).toEqual([1, 2]);
74
- });
75
- });
76
- describe('buildTestGroupName', () => {
77
- it('should return simple suite name when hierarchy is disabled', () => {
78
- // Arrange
79
- const suiteMap = new Map([[1, { id: 1, name: 'Suite 1', parentSuite: { id: 0 } }]]);
80
- // Act
81
- const result = resultDataProvider.buildTestGroupName(1, suiteMap, false);
82
- // Assert
83
- expect(result).toBe('Suite 1');
84
- });
85
- it('should build hierarchical name with parent info', () => {
86
- // Arrange
87
- const suiteMap = new Map([
88
- [1, { id: 1, name: 'Parent', parentSuite: null }],
89
- [2, { id: 2, name: 'Child', parentSuite: { id: 1 } }],
90
- ]);
91
- // Act
92
- const result = resultDataProvider.buildTestGroupName(2, suiteMap, true);
93
- // Assert
94
- expect(result).toBe('Child');
95
- });
96
- it('should abbreviate deep hierarchies', () => {
97
- // Arrange
98
- const suiteMap = new Map([
99
- [1, { id: 1, name: 'Root', parentSuite: null }],
100
- [2, { id: 2, name: 'Level1', parentSuite: { id: 1 } }],
101
- [3, { id: 3, name: 'Level2', parentSuite: { id: 2 } }],
102
- [4, { id: 4, name: 'Level3', parentSuite: { id: 3 } }],
103
- ]);
104
- // Act
105
- const result = resultDataProvider.buildTestGroupName(4, suiteMap, true);
106
- // Assert
107
- expect(result).toBe('Level1/.../Level3');
108
- });
109
- });
110
- describe('convertRunStatus', () => {
111
- it('should convert API status to readable format', () => {
112
- // Arrange & Act & Assert
113
- expect(resultDataProvider.convertRunStatus('passed')).toBe('Passed');
114
- expect(resultDataProvider.convertRunStatus('failed')).toBe('Failed');
115
- expect(resultDataProvider.convertRunStatus('notApplicable')).toBe('Not Applicable');
116
- expect(resultDataProvider.convertRunStatus('unknown')).toBe('Not Run');
117
- });
118
- });
119
- describe('compareActionResults', () => {
120
- it('should compare version-like step positions correctly', () => {
121
- // Act & Assert
122
- const compare = resultDataProvider.compareActionResults;
123
- expect(compare('1', '2')).toBe(-1);
124
- expect(compare('2', '1')).toBe(1);
125
- expect(compare('1.1', '1.2')).toBe(-1);
126
- expect(compare('1.2', '1.1')).toBe(1);
127
- expect(compare('1.1', '1.1')).toBe(0);
128
- expect(compare('1.1.1', '1.1')).toBe(1);
129
- expect(compare('1.1', '1.1.1')).toBe(-1);
130
- });
131
- });
132
- });
133
- describe('Data fetching methods', () => {
134
- describe('fetchTestSuites', () => {
135
- it('should fetch and process test suites correctly', async () => {
136
- // Arrange
137
- const mockTestSuites = {
138
- value: [
139
- {
140
- id: 1,
141
- name: 'Root Suite',
142
- children: [{ id: 2, name: 'Child Suite 1', parentSuite: { id: 1 } }],
143
- },
144
- ],
145
- count: 1,
146
- };
147
- tfs_1.TFSServices.getItemContent.mockResolvedValueOnce(mockTestSuites);
148
- // Act
149
- const result = await resultDataProvider.fetchTestSuites(mockTestPlanId, mockProjectName);
150
- // Assert
151
- expect(tfs_1.TFSServices.getItemContent).toHaveBeenCalledWith(`${mockOrgUrl}${mockProjectName}/_apis/testplan/Plans/${mockTestPlanId}/Suites?asTreeView=true`, mockToken);
152
- expect(result).toHaveLength(1);
153
- expect(result[0]).toHaveProperty('testSuiteId', 2);
154
- expect(result[0]).toHaveProperty('testGroupName');
155
- });
156
- it('should handle errors and return empty array', async () => {
157
- // Arrange
158
- const mockError = new Error('API error');
159
- tfs_1.TFSServices.getItemContent.mockRejectedValueOnce(mockError);
160
- // Act
161
- const result = await resultDataProvider.fetchTestSuites(mockTestPlanId, mockProjectName);
162
- // Assert
163
- expect(logger_1.default.error).toHaveBeenCalled();
164
- expect(result).toEqual([]);
165
- });
166
- });
167
- describe('fetchTestPoints', () => {
168
- it('should fetch and map test points correctly', async () => {
169
- // Arrange
170
- const mockSuiteId = '123';
171
- const mockTestPoints = {
172
- value: [
173
- {
174
- testCaseReference: { id: 1, name: 'Test Case 1' },
175
- configuration: { name: 'Config 1' },
176
- results: {
177
- outcome: 'passed',
178
- lastTestRunId: 100,
179
- lastResultId: 200,
180
- lastResultDetails: { dateCompleted: '2023-01-01', runBy: { displayName: 'Test User' } },
181
- },
182
- },
183
- ],
184
- count: 1,
185
- };
186
- tfs_1.TFSServices.getItemContent.mockResolvedValueOnce(mockTestPoints);
187
- // Act
188
- const result = await resultDataProvider.fetchTestPoints(mockProjectName, mockTestPlanId, mockSuiteId);
189
- // Assert
190
- expect(tfs_1.TFSServices.getItemContent).toHaveBeenCalledWith(`${mockOrgUrl}${mockProjectName}/_apis/testplan/Plans/${mockTestPlanId}/Suites/${mockSuiteId}/TestPoint?includePointDetails=true`, mockToken);
191
- expect(result).toHaveLength(1);
192
- expect(result[0]).toEqual({
193
- testCaseId: 1,
194
- testCaseName: 'Test Case 1',
195
- configurationName: 'Config 1',
196
- outcome: 'passed',
197
- lastRunId: 100,
198
- lastResultId: 200,
199
- lastResultDetails: { dateCompleted: '2023-01-01', runBy: { displayName: 'Test User' } },
200
- testCaseUrl: 'https://dev.azure.com/organization/test-project/_workitems/edit/1',
201
- });
202
- });
203
- it('should handle errors and return empty array', async () => {
204
- // Arrange
205
- const mockSuiteId = '123';
206
- const mockError = new Error('API error');
207
- tfs_1.TFSServices.getItemContent.mockRejectedValueOnce(mockError);
208
- // Act
209
- const result = await resultDataProvider.fetchTestPoints(mockProjectName, mockTestPlanId, mockSuiteId);
210
- // Assert
211
- expect(logger_1.default.error).toHaveBeenCalled();
212
- expect(result).toEqual([]);
213
- });
214
- });
215
- });
216
- describe('Data transformation methods', () => {
217
- describe('mapTestPoint', () => {
218
- it('should transform test point data correctly', () => {
219
- // Arrange
220
- const testPoint = {
221
- testCaseReference: { id: 1, name: 'Test Case 1' },
222
- configuration: { name: 'Config 1' },
223
- results: {
224
- outcome: 'passed',
225
- lastTestRunId: 100,
226
- lastResultId: 200,
227
- lastResultDetails: { dateCompleted: '2023-01-01', runBy: { displayName: 'Test User' } },
228
- },
229
- };
230
- // Act
231
- const result = resultDataProvider.mapTestPoint(testPoint, mockProjectName);
232
- // Assert
233
- expect(result).toEqual({
234
- testCaseId: 1,
235
- testCaseName: 'Test Case 1',
236
- configurationName: 'Config 1',
237
- outcome: 'passed',
238
- lastRunId: 100,
239
- lastResultId: 200,
240
- lastResultDetails: { dateCompleted: '2023-01-01', runBy: { displayName: 'Test User' } },
241
- testCaseUrl: 'https://dev.azure.com/organization/test-project/_workitems/edit/1',
242
- });
243
- });
244
- it('should handle missing fields', () => {
245
- // Arrange
246
- const testPoint = {
247
- testCaseReference: { id: 1, name: 'Test Case 1' },
248
- // No configuration or results
249
- };
250
- // Act
251
- const result = resultDataProvider.mapTestPoint(testPoint, mockProjectName);
252
- // Assert
253
- expect(result).toEqual({
254
- testCaseId: 1,
255
- testCaseName: 'Test Case 1',
256
- configurationName: undefined,
257
- outcome: 'Not Run',
258
- lastRunId: undefined,
259
- lastResultId: undefined,
260
- lastResultDetails: undefined,
261
- testCaseUrl: 'https://dev.azure.com/organization/test-project/_workitems/edit/1',
262
- });
263
- });
264
- });
265
- describe('calculateGroupResultSummary', () => {
266
- it('should return empty strings when includeHardCopyRun is true', () => {
267
- // Arrange
268
- const testPoints = [{ outcome: 'passed' }, { outcome: 'failed' }];
269
- // Act
270
- const result = resultDataProvider.calculateGroupResultSummary(testPoints, true);
271
- // Assert
272
- expect(result).toEqual({
273
- passed: '',
274
- failed: '',
275
- notApplicable: '',
276
- blocked: '',
277
- notRun: '',
278
- total: '',
279
- successPercentage: '',
280
- });
281
- });
282
- it('should calculate summary statistics correctly', () => {
283
- // Arrange
284
- const testPoints = [
285
- { outcome: 'passed' },
286
- { outcome: 'passed' },
287
- { outcome: 'failed' },
288
- { outcome: 'notApplicable' },
289
- { outcome: 'blocked' },
290
- { outcome: 'something else' },
291
- ];
292
- // Act
293
- const result = resultDataProvider.calculateGroupResultSummary(testPoints, false);
294
- // Assert
295
- expect(result).toEqual({
296
- passed: 2,
297
- failed: 1,
298
- notApplicable: 1,
299
- blocked: 1,
300
- notRun: 1,
301
- total: 6,
302
- successPercentage: '33.33%',
303
- });
304
- });
305
- it('should handle empty array', () => {
306
- // Arrange
307
- const testPoints = [];
308
- // Act
309
- const result = resultDataProvider.calculateGroupResultSummary(testPoints, false);
310
- // Assert
311
- expect(result).toEqual({
312
- passed: 0,
313
- failed: 0,
314
- notApplicable: 0,
315
- blocked: 0,
316
- notRun: 0,
317
- total: 0,
318
- successPercentage: '0.00%',
319
- });
320
- });
321
- });
322
- describe('mapAttachmentsUrl', () => {
323
- it('should map attachment URLs correctly', () => {
324
- // Arrange
325
- const mockRunResults = [
326
- {
327
- testCaseId: 1,
328
- lastRunId: 100,
329
- lastResultId: 200,
330
- iteration: {
331
- attachments: [{ id: 1, name: 'attachment1.png', actionPath: 'path1' }],
332
- actionResults: [{ actionPath: 'path1', stepPosition: '1.1' }],
333
- },
334
- analysisAttachments: [{ id: 2, fileName: 'analysis1.txt' }],
335
- },
336
- ];
337
- // Act
338
- const result = resultDataProvider.mapAttachmentsUrl(mockRunResults, mockProjectName);
339
- // Assert
340
- expect(result[0].iteration.attachments[0].downloadUrl).toBe(`${mockOrgUrl}${mockProjectName}/_apis/test/runs/100/results/200/attachments/1/attachment1.png`);
341
- expect(result[0].iteration.attachments[0].stepNo).toBe('1.1');
342
- expect(result[0].analysisAttachments[0].downloadUrl).toBe(`${mockOrgUrl}${mockProjectName}/_apis/test/runs/100/results/200/attachments/2/analysis1.txt`);
343
- });
344
- it('should handle missing iteration', () => {
345
- // Arrange
346
- const mockRunResults = [
347
- {
348
- testCaseId: 1,
349
- lastRunId: 100,
350
- lastResultId: 200,
351
- // No iteration
352
- analysisAttachments: [{ id: 2, fileName: 'analysis1.txt' }],
353
- },
354
- ];
355
- // Act
356
- const result = resultDataProvider.mapAttachmentsUrl(mockRunResults, mockProjectName);
357
- // Assert
358
- expect(result[0]).toEqual(mockRunResults[0]);
359
- });
360
- });
361
- });
362
- describe('getCombinedResultsSummary', () => {
363
- it('should combine all results into expected format', async () => {
364
- // Arrange
365
- const mockTestSuites = {
366
- value: [
367
- {
368
- id: 1,
369
- name: 'Root Suite',
370
- children: [{ id: 2, name: 'Child Suite 1', parentSuite: { id: 1 } }],
371
- },
372
- ],
373
- count: 1,
374
- };
375
- const mockTestPoints = {
376
- value: [
377
- {
378
- testCaseReference: { id: 1, name: 'Test Case 1' },
379
- configuration: { name: 'Config 1' },
380
- results: {
381
- outcome: 'passed',
382
- lastTestRunId: 100,
383
- lastResultId: 200,
384
- lastResultDetails: { dateCompleted: '2023-01-01', runBy: { displayName: 'Test User' } },
385
- },
386
- },
387
- ],
388
- count: 1,
389
- };
390
- const mockTestCases = {
391
- value: [
392
- {
393
- workItem: {
394
- id: 1,
395
- workItemFields: [{ key: 'Steps', value: '<steps>...</steps>' }],
396
- },
397
- },
398
- ],
399
- };
400
- const mockResult = {
401
- testCase: { id: 1, name: 'Test Case 1' },
402
- testSuite: { id: 2, name: 'Child Suite 1' },
403
- iterationDetails: [
404
- {
405
- actionResults: [
406
- { stepIdentifier: '1', outcome: 'Passed', errorMessage: '', actionPath: 'path1' },
407
- ],
408
- attachments: [],
409
- },
410
- ],
411
- testCaseRevision: 1,
412
- failureType: null,
413
- resolutionState: null,
414
- comment: null,
415
- };
416
- // Setup mocks for API calls
417
- tfs_1.TFSServices.getItemContent
418
- .mockResolvedValueOnce(mockTestSuites) // fetchTestSuites
419
- .mockResolvedValueOnce(mockTestPoints) // fetchTestPoints
420
- .mockResolvedValueOnce(mockTestCases) // fetchTestCasesBySuiteId
421
- .mockResolvedValueOnce(mockResult) // fetchResult
422
- .mockResolvedValueOnce({ value: [] }) // fetchResult - attachments
423
- .mockResolvedValueOnce({ fields: {} }); // fetchResult - wiByRevision
424
- const mockTestStepParserHelper = resultDataProvider.testStepParserHelper;
425
- mockTestStepParserHelper.parseTestSteps.mockResolvedValueOnce([
426
- {
427
- stepId: 1,
428
- stepPosition: '1',
429
- action: 'Do something',
430
- expected: 'Something happens',
431
- isSharedStepTitle: false,
432
- },
433
- ]);
434
- // Act
435
- const result = await resultDataProvider.getCombinedResultsSummary(mockTestPlanId, mockProjectName, undefined, true);
436
- // Assert
437
- expect(result.combinedResults.length).toBeGreaterThan(0);
438
- expect(result.combinedResults[0]).toHaveProperty('contentControl', 'test-group-summary-content-control');
439
- expect(result.combinedResults[1]).toHaveProperty('contentControl', 'test-result-summary-content-control');
440
- expect(result.combinedResults[2]).toHaveProperty('contentControl', 'detailed-test-result-content-control');
441
- });
442
- });
443
- });
444
- //# sourceMappingURL=ResultDataProvider.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ResultDataProvider.test.js","sourceRoot":"","sources":["../../../src/modules/test/ResultDataProvider.test.ts"],"names":[],"mappings":"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"}