@elisra-devops/docgen-data-provider 1.26.1 → 1.26.3

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.
@@ -42,7 +42,7 @@ export default class ResultDataProvider {
42
42
  *
43
43
  * @throws Will log an error if any step in the process fails.
44
44
  */
45
- getTestReporterResults(testPlanId: string, projectName: string, selectedSuiteIds: number[], selectedFields: string[], enableRunStepStatusFilter: boolean): Promise<any[] | undefined>;
45
+ getTestReporterResults(testPlanId: string, projectName: string, selectedSuiteIds: number[], selectedFields: string[], enableRunTestCaseFilter: boolean, enableRunStepStatusFilter: boolean): Promise<any[] | undefined>;
46
46
  /**
47
47
  * Mapping each attachment to a proper URL for downloading it
48
48
  * @param runResults Array of run results
@@ -112,6 +112,7 @@ export default class ResultDataProvider {
112
112
  * @throws Logs an error message if the data retrieval fails.
113
113
  */
114
114
  private fetchResultDataBasedOnWiBase;
115
+ private isNotRunStep;
115
116
  /**
116
117
  * Fetches result data based on the specified work item (WI) details.
117
118
  *
@@ -150,6 +151,7 @@ export default class ResultDataProvider {
150
151
  *
151
152
  * @param testData - An array of test data objects containing test points and test cases.
152
153
  * @param iterations - An array of iteration data used to map test cases to their respective iterations.
154
+ * @param includeNotRunTestCases - including not run test cases in the results.
153
155
  * @param options - Configuration options for processing the test data.
154
156
  * @param options.selectedFields - An optional array of selected fields to filter step-level properties.
155
157
  * @param options.createResultObject - A callback function to create a result object for each test or step.
@@ -157,6 +159,17 @@ export default class ResultDataProvider {
157
159
  * @returns An array of detailed result objects, either at the test level or step level, depending on the options.
158
160
  */
159
161
  private alignStepsWithIterationsBase;
162
+ /**
163
+ * Appends results to the detailed results array based on the provided options and test data.
164
+ *
165
+ * @param options - Configuration options for processing the test data.
166
+ * @param fetchedTestCase - The fetched test case object containing iteration and action results.
167
+ * @param filteredFields - A set of filtered fields to include in the result object.
168
+ * @param testItem - The test item object containing test point information.
169
+ * @param point - The test point object containing details about the test case.
170
+ * @param detailedResults - The array to which the result objects will be appended.
171
+ */
172
+ private AppendResults;
160
173
  /**
161
174
  * Aligns test steps with their corresponding iterations by processing the provided test data and iterations.
162
175
  * This method utilizes a base alignment function with custom logic for processing step-level data and creating result objects.
@@ -42,6 +42,9 @@ class ResultDataProvider {
42
42
  this.orgUrl = '';
43
43
  this.token = '';
44
44
  this.limit = pLimit(10);
45
+ this.isNotRunStep = (result) => {
46
+ return result && result.stepStatus === 'Not Run';
47
+ };
45
48
  //Sorting step positions
46
49
  this.compareActionResults = (a, b) => {
47
50
  const aParts = a.split('.').map(Number);
@@ -66,6 +69,7 @@ class ResultDataProvider {
66
69
  * Combines the results of test group result summary, test results summary, and detailed results summary into a single key-value pair array.
67
70
  */
68
71
  async getCombinedResultsSummary(testPlanId, projectName, selectedSuiteIds, addConfiguration = false, isHierarchyGroupName = false, includeOpenPCRs = false, includeTestLog = false, stepExecution, stepAnalysis, includeHardCopyRun = false) {
72
+ var _a;
69
73
  const combinedResults = [];
70
74
  try {
71
75
  // Fetch test suites
@@ -106,7 +110,7 @@ class ResultDataProvider {
106
110
  // 3. Calculate Detailed Results Summary
107
111
  const testData = await this.fetchTestData(suites, projectName, testPlanId);
108
112
  const runResults = await this.fetchAllResultData(testData, projectName);
109
- const detailedStepResultsSummary = this.alignStepsWithIterations(testData, runResults);
113
+ const detailedStepResultsSummary = (_a = this.alignStepsWithIterations(testData, runResults)) === null || _a === void 0 ? void 0 : _a.filter((results) => results !== null);
110
114
  //Filter out all the results with no comment
111
115
  const filteredDetailedResults = detailedStepResultsSummary.filter((result) => result && (result.stepComments !== '' || result.stepStatus === 'Failed'));
112
116
  // Add detailed results summary to combined results
@@ -177,7 +181,7 @@ class ResultDataProvider {
177
181
  *
178
182
  * @throws Will log an error if any step in the process fails.
179
183
  */
180
- async getTestReporterResults(testPlanId, projectName, selectedSuiteIds, selectedFields, enableRunStepStatusFilter) {
184
+ async getTestReporterResults(testPlanId, projectName, selectedSuiteIds, selectedFields, enableRunTestCaseFilter, enableRunStepStatusFilter) {
181
185
  const fetchedTestResults = [];
182
186
  logger_1.default.debug(`Fetching test reporter results for test plan ID: ${testPlanId}, project name: ${projectName}`);
183
187
  logger_1.default.debug(`Selected suite IDs: ${selectedSuiteIds}`);
@@ -186,15 +190,12 @@ class ResultDataProvider {
186
190
  const suites = await this.fetchTestSuites(testPlanId, projectName, selectedSuiteIds, true);
187
191
  const testData = await this.fetchTestData(suites, projectName, testPlanId);
188
192
  const runResults = await this.fetchAllResultDataTestReporter(testData, projectName, selectedFields);
189
- const testReporterData = this.alignStepsWithIterationsTestReporter(testData, runResults, selectedFields);
190
- const isNotRunStep = (result) => {
191
- return result && result.stepStatus === 'Not Run';
192
- };
193
+ const testReporterData = this.alignStepsWithIterationsTestReporter(testData, runResults, selectedFields, !enableRunTestCaseFilter);
193
194
  // Apply filters sequentially based on enabled flags
194
195
  let filteredResults = testReporterData;
195
196
  // filter: Test step run status
196
197
  if (enableRunStepStatusFilter) {
197
- filteredResults = filteredResults.filter((result) => !isNotRunStep(result));
198
+ filteredResults = filteredResults.filter((result) => !this.isNotRunStep(result));
198
199
  }
199
200
  // Use the final filtered results
200
201
  fetchedTestResults.push({
@@ -412,6 +413,8 @@ class ResultDataProvider {
412
413
  let filteredFields = {};
413
414
  let relatedRequirements = [];
414
415
  let relatedBugs = [];
416
+ //TODO: Add CR support as well, and also add the logic to fetch the CR details
417
+ // TODO: Add logic for grabbing the relations from cross projects
415
418
  // Process selected fields if provided
416
419
  if (((_a = options.selectedFields) === null || _a === void 0 ? void 0 : _a.length) &&
417
420
  (options.processRelatedRequirements || options.processRelatedBugs)) {
@@ -487,12 +490,12 @@ class ResultDataProvider {
487
490
  * @returns A human-readable string representing the run status.
488
491
  */
489
492
  convertRunStatus(status) {
490
- switch (status) {
493
+ switch (status.toLowerCase()) {
491
494
  case 'passed':
492
495
  return 'Passed';
493
496
  case 'failed':
494
497
  return 'Failed';
495
- case 'notApplicable':
498
+ case 'notapplicable':
496
499
  return 'Not Applicable';
497
500
  default:
498
501
  return 'Not Run';
@@ -511,7 +514,7 @@ class ResultDataProvider {
511
514
  * @returns A string representing the converted outcome.
512
515
  */
513
516
  convertUnspecifiedRunStatus(actionResult) {
514
- if (actionResult.outcome === 'Unspecified' && actionResult.isSharedStepTitle) {
517
+ if (!actionResult || (actionResult.outcome === 'Unspecified' && actionResult.isSharedStepTitle)) {
515
518
  return '';
516
519
  }
517
520
  return actionResult.outcome === 'Unspecified'
@@ -525,13 +528,14 @@ class ResultDataProvider {
525
528
  *
526
529
  * @param testData - An array of test data objects containing test points and test cases.
527
530
  * @param iterations - An array of iteration data used to map test cases to their respective iterations.
531
+ * @param includeNotRunTestCases - including not run test cases in the results.
528
532
  * @param options - Configuration options for processing the test data.
529
533
  * @param options.selectedFields - An optional array of selected fields to filter step-level properties.
530
534
  * @param options.createResultObject - A callback function to create a result object for each test or step.
531
535
  * @param options.shouldProcessStepLevel - A callback function to determine whether to process at the step level.
532
536
  * @returns An array of detailed result objects, either at the test level or step level, depending on the options.
533
537
  */
534
- alignStepsWithIterationsBase(testData, iterations, options) {
538
+ alignStepsWithIterationsBase(testData, iterations, includeNotRunTestCases, includeItemsWithNoIterations, isTestReporter, options) {
535
539
  var _a, _b;
536
540
  const detailedResults = [];
537
541
  if (!iterations || (iterations === null || iterations === void 0 ? void 0 : iterations.length) === 0) {
@@ -544,47 +548,76 @@ class ResultDataProvider {
544
548
  const testCase = testItem.testCasesItems.find((tc) => tc.workItem.id === point.testCaseId);
545
549
  if (!testCase)
546
550
  continue;
547
- const iterationsMap = this.createIterationsMap(iterations, testCase.workItem.id);
548
551
  if (testCase.workItem.workItemFields.length === 0) {
549
552
  logger_1.default.warn(`Could not fetch the steps from WI ${JSON.stringify(testCase.workItem.id)}`);
550
553
  continue;
551
554
  }
552
- if (point.lastRunId && point.lastResultId) {
555
+ if (includeNotRunTestCases && !point.lastRunId && !point.lastResultId) {
556
+ this.AppendResults(options, testCase, filteredFields, testItem, point, detailedResults);
557
+ }
558
+ else {
559
+ const iterationsMap = this.createIterationsMap(iterations, testCase.workItem.id, isTestReporter);
553
560
  const iterationKey = `${point.lastRunId}-${point.lastResultId}-${testCase.workItem.id}`;
554
- const fetchedTestCase = iterationsMap[iterationKey];
555
- if (!fetchedTestCase || !fetchedTestCase.iteration)
561
+ const fetchedTestCase = iterationsMap[iterationKey] || (includeNotRunTestCases ? testCase : undefined);
562
+ // First check if fetchedTestCase exists
563
+ if (!fetchedTestCase)
564
+ continue;
565
+ // Then separately check for iteration only if configured not to include items without iterations
566
+ if (!includeItemsWithNoIterations && !fetchedTestCase.iteration)
556
567
  continue;
557
568
  // Determine if we should process at step level
558
- const shouldProcessSteps = options.shouldProcessStepLevel(fetchedTestCase, filteredFields);
559
- if (!shouldProcessSteps) {
560
- // Create a test-level result object
561
- const resultObj = options.createResultObject({
562
- testItem,
563
- point,
564
- fetchedTestCase,
565
- filteredFields,
566
- });
567
- detailedResults.push(resultObj);
568
- }
569
- else {
570
- // Create step-level result objects
571
- const { actionResults } = fetchedTestCase === null || fetchedTestCase === void 0 ? void 0 : fetchedTestCase.iteration;
572
- for (let i = 0; i < (actionResults === null || actionResults === void 0 ? void 0 : actionResults.length); i++) {
573
- const resultObj = options.createResultObject({
574
- testItem,
575
- point,
576
- fetchedTestCase,
577
- actionResult: actionResults[i],
578
- filteredFields,
579
- });
580
- detailedResults.push(resultObj);
581
- }
582
- }
569
+ this.AppendResults(options, fetchedTestCase, filteredFields, testItem, point, detailedResults);
583
570
  }
584
571
  }
585
572
  }
586
573
  return detailedResults;
587
574
  }
575
+ /**
576
+ * Appends results to the detailed results array based on the provided options and test data.
577
+ *
578
+ * @param options - Configuration options for processing the test data.
579
+ * @param fetchedTestCase - The fetched test case object containing iteration and action results.
580
+ * @param filteredFields - A set of filtered fields to include in the result object.
581
+ * @param testItem - The test item object containing test point information.
582
+ * @param point - The test point object containing details about the test case.
583
+ * @param detailedResults - The array to which the result objects will be appended.
584
+ */
585
+ AppendResults(options, fetchedTestCase, filteredFields, testItem, point, detailedResults) {
586
+ const shouldProcessSteps = options.shouldProcessStepLevel(fetchedTestCase, filteredFields);
587
+ if (!shouldProcessSteps) {
588
+ // Create a test-level result object
589
+ const resultObj = options.createResultObject({
590
+ testItem,
591
+ point,
592
+ fetchedTestCase,
593
+ filteredFields,
594
+ });
595
+ detailedResults.push(resultObj);
596
+ }
597
+ else {
598
+ // Create step-level result objects
599
+ const { actionResults } = fetchedTestCase === null || fetchedTestCase === void 0 ? void 0 : fetchedTestCase.iteration;
600
+ const resultObjectsToAdd = [];
601
+ for (let i = 0; i < (actionResults === null || actionResults === void 0 ? void 0 : actionResults.length); i++) {
602
+ const resultObj = options.createResultObject({
603
+ testItem,
604
+ point,
605
+ fetchedTestCase,
606
+ actionResult: actionResults[i],
607
+ filteredFields,
608
+ });
609
+ resultObjectsToAdd.push(resultObj);
610
+ }
611
+ resultObjectsToAdd.length > 0
612
+ ? detailedResults.push(...resultObjectsToAdd)
613
+ : detailedResults.push(options.createResultObject({
614
+ testItem,
615
+ point,
616
+ fetchedTestCase,
617
+ filteredFields,
618
+ }));
619
+ }
620
+ }
588
621
  /**
589
622
  * Aligns test steps with their corresponding iterations by processing the provided test data and iterations.
590
623
  * This method utilizes a base alignment function with custom logic for processing step-level data and creating result objects.
@@ -598,7 +631,7 @@ class ResultDataProvider {
598
631
  * - Creating result objects for each step, including details such as test ID, step identifier, action path, step status, and comments.
599
632
  */
600
633
  alignStepsWithIterations(testData, iterations) {
601
- return this.alignStepsWithIterationsBase(testData, iterations, {
634
+ return this.alignStepsWithIterationsBase(testData, iterations, false, false, false, {
602
635
  shouldProcessStepLevel: (fetchedTestCase) => fetchedTestCase != null &&
603
636
  fetchedTestCase.iteration != null &&
604
637
  fetchedTestCase.iteration.actionResults != null,
@@ -625,9 +658,10 @@ class ResultDataProvider {
625
658
  /**
626
659
  * Creates a mapping of iterations by their unique keys.
627
660
  */
628
- createIterationsMap(iterations, testCaseId) {
661
+ createIterationsMap(iterations, testCaseId, isTestReporter) {
629
662
  return iterations.reduce((map, iterationItem) => {
630
- if (iterationItem.iteration) {
663
+ if ((isTestReporter && iterationItem.lastRunId && iterationItem.lastResultId) ||
664
+ iterationItem.iteration) {
631
665
  const key = `${iterationItem.lastRunId}-${iterationItem.lastResultId}-${testCaseId}`;
632
666
  map[key] = iterationItem;
633
667
  }
@@ -861,7 +895,8 @@ class ResultDataProvider {
861
895
  executedDate: dateCompleted,
862
896
  performedBy: runBy.displayName,
863
897
  };
864
- });
898
+ })
899
+ .sort((a, b) => new Date(b.executedDate).getTime() - new Date(a.executedDate).getTime());
865
900
  if ((testLogData === null || testLogData === void 0 ? void 0 : testLogData.length) > 0) {
866
901
  // Add openPCR to combined results
867
902
  combinedResults.push({
@@ -1083,8 +1118,8 @@ class ResultDataProvider {
1083
1118
  * - Including step-specific properties (e.g., step number, action, expected result, status, and comments) if action results are available
1084
1119
  * and the corresponding fields are selected.
1085
1120
  */
1086
- alignStepsWithIterationsTestReporter(testData, iterations, selectedFields) {
1087
- return this.alignStepsWithIterationsBase(testData, iterations, {
1121
+ alignStepsWithIterationsTestReporter(testData, iterations, selectedFields, includeNotRunTestCases) {
1122
+ return this.alignStepsWithIterationsBase(testData, iterations, includeNotRunTestCases, true, true, {
1088
1123
  selectedFields,
1089
1124
  shouldProcessStepLevel: (fetchedTestCase, filteredFields) => fetchedTestCase != null &&
1090
1125
  fetchedTestCase.iteration != null &&
@@ -1139,76 +1174,93 @@ class ResultDataProvider {
1139
1174
  return this.fetchResultDataBase(projectName, testSuiteId, point, (project, runId, resultId, fields) => this.fetchResultDataBasedOnWiTestReporter(project, runId, resultId, fields), (resultData, testSuiteId, point, selectedFields) => {
1140
1175
  var _a, _b;
1141
1176
  const { lastRunId, lastResultId, configurationName, lastResultDetails } = point;
1142
- const iteration = resultData.iterationDetails.length > 0
1143
- ? resultData.iterationDetails[resultData.iterationDetails.length - 1]
1144
- : undefined;
1145
- const resultDataResponse = {
1146
- testCaseName: `${resultData.testCase.name} - ${resultData.testCase.id}`,
1147
- testCaseId: resultData.testCase.id,
1148
- testSuiteName: `${resultData.testSuite.name}`,
1149
- testSuiteId,
1150
- lastRunId,
1151
- lastResultId,
1152
- iteration,
1153
- testCaseRevision: resultData.testCaseRevision,
1154
- resolution: resultData.resolutionState,
1155
- automationStatus: resultData.filteredFields['Microsoft.VSTS.TCM.AutomationStatus'] || undefined,
1156
- analysisAttachments: resultData.analysisAttachments,
1157
- failureType: undefined,
1158
- comment: undefined,
1159
- priority: undefined,
1160
- runBy: undefined,
1161
- executionDate: undefined,
1162
- testCaseResult: undefined,
1163
- errorMessage: undefined,
1164
- configurationName: undefined,
1165
- relatedRequirements: undefined,
1166
- relatedBugs: undefined,
1167
- lastRunResult: undefined,
1168
- };
1169
- const filteredFields = (_a = selectedFields === null || selectedFields === void 0 ? void 0 : selectedFields.filter((field) => field.includes('@runResultField') || field.includes('@linked'))) === null || _a === void 0 ? void 0 : _a.map((field) => field.split('@')[0]);
1170
- if (filteredFields && filteredFields.length > 0) {
1171
- for (const field of filteredFields) {
1172
- switch (field) {
1173
- case 'priority':
1174
- resultDataResponse.priority = resultData.priority;
1175
- break;
1176
- case 'testCaseResult':
1177
- const outcome = (_b = resultData.iterationDetails[resultData.iterationDetails.length - 1]) === null || _b === void 0 ? void 0 : _b.outcome;
1178
- resultDataResponse.testCaseResult = {
1179
- resultMessage: `${outcome} in Run ${lastRunId}`,
1180
- url: `${this.orgUrl}${projectName}/_testManagement/runs?runId=${lastRunId}&_a=resultSummary&resultId=${lastResultId}`,
1181
- };
1182
- break;
1183
- case 'failureType':
1184
- resultDataResponse.failureType = resultData.failureType;
1185
- break;
1186
- case 'testCaseComment':
1187
- resultDataResponse.comment = resultData.comment || undefined;
1188
- break;
1189
- case 'runBy':
1190
- const runBy = lastResultDetails.runBy.displayName;
1191
- resultDataResponse.runBy = runBy;
1192
- break;
1193
- case 'executionDate':
1194
- resultDataResponse.executionDate = lastResultDetails.dateCompleted;
1195
- break;
1196
- case 'configurationName':
1197
- resultDataResponse.configurationName = configurationName;
1198
- break;
1199
- case 'associatedRequirement':
1200
- resultDataResponse.relatedRequirements = resultData.relatedRequirements;
1201
- break;
1202
- case 'associatedBug':
1203
- resultDataResponse.relatedBugs = resultData.relatedBugs;
1204
- break;
1205
- default:
1206
- logger_1.default.debug(`Field ${field} not handled`);
1207
- break;
1177
+ try {
1178
+ const iteration = resultData.iterationDetails.length > 0
1179
+ ? resultData.iterationDetails[resultData.iterationDetails.length - 1]
1180
+ : undefined;
1181
+ const resultDataResponse = {
1182
+ testCaseName: `${resultData.testCase.name} - ${resultData.testCase.id}`,
1183
+ testCaseId: resultData.testCase.id,
1184
+ testSuiteName: `${resultData.testSuite.name}`,
1185
+ testSuiteId,
1186
+ lastRunId,
1187
+ lastResultId,
1188
+ iteration,
1189
+ testCaseRevision: resultData.testCaseRevision,
1190
+ resolution: resultData.resolutionState,
1191
+ automationStatus: resultData.filteredFields['Microsoft.VSTS.TCM.AutomationStatus'] || undefined,
1192
+ analysisAttachments: resultData.analysisAttachments,
1193
+ failureType: undefined,
1194
+ comment: undefined,
1195
+ priority: undefined,
1196
+ runBy: undefined,
1197
+ executionDate: undefined,
1198
+ testCaseResult: undefined,
1199
+ errorMessage: undefined,
1200
+ configurationName: undefined,
1201
+ relatedRequirements: undefined,
1202
+ relatedBugs: undefined,
1203
+ lastRunResult: undefined,
1204
+ };
1205
+ const filteredFields = (_a = selectedFields === null || selectedFields === void 0 ? void 0 : selectedFields.filter((field) => field.includes('@runResultField') || field.includes('@linked'))) === null || _a === void 0 ? void 0 : _a.map((field) => field.split('@')[0]);
1206
+ if (filteredFields && filteredFields.length > 0) {
1207
+ for (const field of filteredFields) {
1208
+ switch (field) {
1209
+ case 'priority':
1210
+ resultDataResponse.priority = resultData.priority;
1211
+ break;
1212
+ case 'testCaseResult':
1213
+ const outcome = ((_b = resultData.iterationDetails[resultData.iterationDetails.length - 1]) === null || _b === void 0 ? void 0 : _b.outcome) ||
1214
+ resultData.outcome ||
1215
+ 'NotApplicable';
1216
+ if (lastRunId === undefined || lastResultId === undefined) {
1217
+ resultDataResponse.testCaseResult = {
1218
+ resultMessage: `${this.convertRunStatus(outcome)}`,
1219
+ url: '',
1220
+ };
1221
+ }
1222
+ else {
1223
+ resultDataResponse.testCaseResult = {
1224
+ resultMessage: `${this.convertRunStatus(outcome)} in Run ${lastRunId}`,
1225
+ url: `${this.orgUrl}${projectName}/_testManagement/runs?runId=${lastRunId}&_a=resultSummary&resultId=${lastResultId}`,
1226
+ };
1227
+ }
1228
+ break;
1229
+ case 'failureType':
1230
+ resultDataResponse.failureType = resultData.failureType;
1231
+ break;
1232
+ case 'testCaseComment':
1233
+ resultDataResponse.comment = resultData.comment || undefined;
1234
+ break;
1235
+ case 'runBy':
1236
+ const runBy = lastResultDetails.runBy.displayName;
1237
+ resultDataResponse.runBy = runBy;
1238
+ break;
1239
+ case 'executionDate':
1240
+ resultDataResponse.executionDate = lastResultDetails.dateCompleted;
1241
+ break;
1242
+ case 'configurationName':
1243
+ resultDataResponse.configurationName = configurationName;
1244
+ break;
1245
+ case 'associatedRequirement':
1246
+ resultDataResponse.relatedRequirements = resultData.relatedRequirements;
1247
+ break;
1248
+ case 'associatedBug':
1249
+ resultDataResponse.relatedBugs = resultData.relatedBugs;
1250
+ break;
1251
+ default:
1252
+ logger_1.default.debug(`Field ${field} not handled`);
1253
+ break;
1254
+ }
1208
1255
  }
1209
1256
  }
1257
+ return resultDataResponse;
1258
+ }
1259
+ catch (err) {
1260
+ logger_1.default.error(`Error occurred while fetching result data: ${err.message}`);
1261
+ logger_1.default.error(`Error stack: ${err.stack}`);
1262
+ return null;
1210
1263
  }
1211
- return resultDataResponse;
1212
1264
  }, [selectedFields]);
1213
1265
  }
1214
1266
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ResultDataProvider.js","sourceRoot":"","sources":["../../src/modules/ResultDataProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ResultDataProvider.js","sourceRoot":"","sources":["../../src/modules/ResultDataProvider.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elisra-devops/docgen-data-provider",
3
- "version": "1.26.1",
3
+ "version": "1.26.3",
4
4
  "description": "A document generator data provider, aimed to retrive data from azure devops",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,3 +1,4 @@
1
+ import { log } from 'winston';
1
2
  import { TFSServices } from '../helpers/tfs';
2
3
  import { TestSteps } from '../models/tfs-data';
3
4
  import logger from '../utils/logger';
@@ -115,7 +116,9 @@ export default class ResultDataProvider {
115
116
  // 3. Calculate Detailed Results Summary
116
117
  const testData = await this.fetchTestData(suites, projectName, testPlanId);
117
118
  const runResults = await this.fetchAllResultData(testData, projectName);
118
- const detailedStepResultsSummary = this.alignStepsWithIterations(testData, runResults);
119
+ const detailedStepResultsSummary = this.alignStepsWithIterations(testData, runResults)?.filter(
120
+ (results) => results !== null
121
+ );
119
122
  //Filter out all the results with no comment
120
123
  const filteredDetailedResults = detailedStepResultsSummary.filter(
121
124
  (result) => result && (result.stepComments !== '' || result.stepStatus === 'Failed')
@@ -206,6 +209,7 @@ export default class ResultDataProvider {
206
209
  projectName: string,
207
210
  selectedSuiteIds: number[],
208
211
  selectedFields: string[],
212
+ enableRunTestCaseFilter: boolean,
209
213
  enableRunStepStatusFilter: boolean
210
214
  ) {
211
215
  const fetchedTestResults: any[] = [];
@@ -221,19 +225,16 @@ export default class ResultDataProvider {
221
225
  const testReporterData = this.alignStepsWithIterationsTestReporter(
222
226
  testData,
223
227
  runResults,
224
- selectedFields
228
+ selectedFields,
229
+ !enableRunTestCaseFilter
225
230
  );
226
231
 
227
- const isNotRunStep = (result: any): boolean => {
228
- return result && result.stepStatus === 'Not Run';
229
- };
230
-
231
232
  // Apply filters sequentially based on enabled flags
232
233
  let filteredResults = testReporterData;
233
234
 
234
235
  // filter: Test step run status
235
236
  if (enableRunStepStatusFilter) {
236
- filteredResults = filteredResults.filter((result) => !isNotRunStep(result));
237
+ filteredResults = filteredResults.filter((result) => !this.isNotRunStep(result));
237
238
  }
238
239
 
239
240
  // Use the final filtered results
@@ -503,6 +504,8 @@ export default class ResultDataProvider {
503
504
  let filteredFields: any = {};
504
505
  let relatedRequirements: any[] = [];
505
506
  let relatedBugs: any[] = [];
507
+ //TODO: Add CR support as well, and also add the logic to fetch the CR details
508
+ // TODO: Add logic for grabbing the relations from cross projects
506
509
 
507
510
  // Process selected fields if provided
508
511
  if (
@@ -571,6 +574,10 @@ export default class ResultDataProvider {
571
574
  }
572
575
  }
573
576
 
577
+ private isNotRunStep = (result: any): boolean => {
578
+ return result && result.stepStatus === 'Not Run';
579
+ };
580
+
574
581
  /**
575
582
  * Fetches result data based on the specified work item (WI) details.
576
583
  *
@@ -594,12 +601,12 @@ export default class ResultDataProvider {
594
601
  * @returns A human-readable string representing the run status.
595
602
  */
596
603
  private convertRunStatus(status: string): string {
597
- switch (status) {
604
+ switch (status.toLowerCase()) {
598
605
  case 'passed':
599
606
  return 'Passed';
600
607
  case 'failed':
601
608
  return 'Failed';
602
- case 'notApplicable':
609
+ case 'notapplicable':
603
610
  return 'Not Applicable';
604
611
  default:
605
612
  return 'Not Run';
@@ -619,7 +626,7 @@ export default class ResultDataProvider {
619
626
  * @returns A string representing the converted outcome.
620
627
  */
621
628
  private convertUnspecifiedRunStatus(actionResult: any) {
622
- if (actionResult.outcome === 'Unspecified' && actionResult.isSharedStepTitle) {
629
+ if (!actionResult || (actionResult.outcome === 'Unspecified' && actionResult.isSharedStepTitle)) {
623
630
  return '';
624
631
  }
625
632
 
@@ -635,6 +642,7 @@ export default class ResultDataProvider {
635
642
  *
636
643
  * @param testData - An array of test data objects containing test points and test cases.
637
644
  * @param iterations - An array of iteration data used to map test cases to their respective iterations.
645
+ * @param includeNotRunTestCases - including not run test cases in the results.
638
646
  * @param options - Configuration options for processing the test data.
639
647
  * @param options.selectedFields - An optional array of selected fields to filter step-level properties.
640
648
  * @param options.createResultObject - A callback function to create a result object for each test or step.
@@ -644,6 +652,9 @@ export default class ResultDataProvider {
644
652
  private alignStepsWithIterationsBase(
645
653
  testData: any[],
646
654
  iterations: any[],
655
+ includeNotRunTestCases: boolean,
656
+ includeItemsWithNoIterations: boolean,
657
+ isTestReporter: boolean,
647
658
  options: {
648
659
  selectedFields?: any[];
649
660
  createResultObject: (params: {
@@ -672,49 +683,99 @@ export default class ResultDataProvider {
672
683
  for (const point of testItem.testPointsItems) {
673
684
  const testCase = testItem.testCasesItems.find((tc: any) => tc.workItem.id === point.testCaseId);
674
685
  if (!testCase) continue;
675
- const iterationsMap = this.createIterationsMap(iterations, testCase.workItem.id);
676
686
 
677
687
  if (testCase.workItem.workItemFields.length === 0) {
678
688
  logger.warn(`Could not fetch the steps from WI ${JSON.stringify(testCase.workItem.id)}`);
679
689
  continue;
680
690
  }
681
691
 
682
- if (point.lastRunId && point.lastResultId) {
692
+ if (includeNotRunTestCases && !point.lastRunId && !point.lastResultId) {
693
+ this.AppendResults(options, testCase, filteredFields, testItem, point, detailedResults);
694
+ } else {
695
+ const iterationsMap = this.createIterationsMap(iterations, testCase.workItem.id, isTestReporter);
696
+
683
697
  const iterationKey = `${point.lastRunId}-${point.lastResultId}-${testCase.workItem.id}`;
684
- const fetchedTestCase = iterationsMap[iterationKey];
698
+ const fetchedTestCase =
699
+ iterationsMap[iterationKey] || (includeNotRunTestCases ? testCase : undefined);
700
+
701
+ // First check if fetchedTestCase exists
702
+ if (!fetchedTestCase) continue;
685
703
 
686
- if (!fetchedTestCase || !fetchedTestCase.iteration) continue;
704
+ // Then separately check for iteration only if configured not to include items without iterations
705
+ if (!includeItemsWithNoIterations && !fetchedTestCase.iteration) continue;
687
706
 
688
707
  // Determine if we should process at step level
689
- const shouldProcessSteps = options.shouldProcessStepLevel(fetchedTestCase, filteredFields);
708
+ this.AppendResults(options, fetchedTestCase, filteredFields, testItem, point, detailedResults);
709
+ }
710
+ }
711
+ }
712
+ return detailedResults;
713
+ }
690
714
 
691
- if (!shouldProcessSteps) {
692
- // Create a test-level result object
693
- const resultObj = options.createResultObject({
715
+ /**
716
+ * Appends results to the detailed results array based on the provided options and test data.
717
+ *
718
+ * @param options - Configuration options for processing the test data.
719
+ * @param fetchedTestCase - The fetched test case object containing iteration and action results.
720
+ * @param filteredFields - A set of filtered fields to include in the result object.
721
+ * @param testItem - The test item object containing test point information.
722
+ * @param point - The test point object containing details about the test case.
723
+ * @param detailedResults - The array to which the result objects will be appended.
724
+ */
725
+ private AppendResults(
726
+ options: {
727
+ selectedFields?: any[];
728
+ createResultObject: (params: {
729
+ testItem: any;
730
+ point: any;
731
+ fetchedTestCase: any;
732
+ actionResult?: any;
733
+ filteredFields?: Set<string>;
734
+ }) => any;
735
+ shouldProcessStepLevel: (fetchedTestCase: any, filteredFields: Set<string>) => boolean;
736
+ },
737
+ fetchedTestCase: any,
738
+ filteredFields: Set<string>,
739
+ testItem: any,
740
+ point: any,
741
+ detailedResults: any[]
742
+ ) {
743
+ const shouldProcessSteps = options.shouldProcessStepLevel(fetchedTestCase, filteredFields);
744
+
745
+ if (!shouldProcessSteps) {
746
+ // Create a test-level result object
747
+ const resultObj = options.createResultObject({
748
+ testItem,
749
+ point,
750
+ fetchedTestCase,
751
+ filteredFields,
752
+ });
753
+ detailedResults.push(resultObj);
754
+ } else {
755
+ // Create step-level result objects
756
+ const { actionResults } = fetchedTestCase?.iteration;
757
+ const resultObjectsToAdd: any[] = [];
758
+ for (let i = 0; i < actionResults?.length; i++) {
759
+ const resultObj = options.createResultObject({
760
+ testItem,
761
+ point,
762
+ fetchedTestCase,
763
+ actionResult: actionResults[i],
764
+ filteredFields,
765
+ });
766
+ resultObjectsToAdd.push(resultObj);
767
+ }
768
+ resultObjectsToAdd.length > 0
769
+ ? detailedResults.push(...resultObjectsToAdd)
770
+ : detailedResults.push(
771
+ options.createResultObject({
694
772
  testItem,
695
773
  point,
696
774
  fetchedTestCase,
697
775
  filteredFields,
698
- });
699
- detailedResults.push(resultObj);
700
- } else {
701
- // Create step-level result objects
702
- const { actionResults } = fetchedTestCase?.iteration;
703
- for (let i = 0; i < actionResults?.length; i++) {
704
- const resultObj = options.createResultObject({
705
- testItem,
706
- point,
707
- fetchedTestCase,
708
- actionResult: actionResults[i],
709
- filteredFields,
710
- });
711
- detailedResults.push(resultObj);
712
- }
713
- }
714
- }
715
- }
776
+ })
777
+ );
716
778
  }
717
- return detailedResults;
718
779
  }
719
780
 
720
781
  /**
@@ -730,7 +791,7 @@ export default class ResultDataProvider {
730
791
  * - Creating result objects for each step, including details such as test ID, step identifier, action path, step status, and comments.
731
792
  */
732
793
  private alignStepsWithIterations(testData: any[], iterations: any[]): any[] {
733
- return this.alignStepsWithIterationsBase(testData, iterations, {
794
+ return this.alignStepsWithIterationsBase(testData, iterations, false, false, false, {
734
795
  shouldProcessStepLevel: (fetchedTestCase) =>
735
796
  fetchedTestCase != null &&
736
797
  fetchedTestCase.iteration != null &&
@@ -758,9 +819,16 @@ export default class ResultDataProvider {
758
819
  /**
759
820
  * Creates a mapping of iterations by their unique keys.
760
821
  */
761
- private createIterationsMap(iterations: any[], testCaseId: number): Record<string, any> {
822
+ private createIterationsMap(
823
+ iterations: any[],
824
+ testCaseId: number,
825
+ isTestReporter: boolean
826
+ ): Record<string, any> {
762
827
  return iterations.reduce((map, iterationItem) => {
763
- if (iterationItem.iteration) {
828
+ if (
829
+ (isTestReporter && iterationItem.lastRunId && iterationItem.lastResultId) ||
830
+ iterationItem.iteration
831
+ ) {
764
832
  const key = `${iterationItem.lastRunId}-${iterationItem.lastResultId}-${testCaseId}`;
765
833
  map[key] = iterationItem;
766
834
  }
@@ -1084,7 +1152,8 @@ export default class ResultDataProvider {
1084
1152
  executedDate: dateCompleted,
1085
1153
  performedBy: runBy.displayName,
1086
1154
  };
1087
- });
1155
+ })
1156
+ .sort((a, b) => new Date(b.executedDate).getTime() - new Date(a.executedDate).getTime());
1088
1157
 
1089
1158
  if (testLogData?.length > 0) {
1090
1159
  // Add openPCR to combined results
@@ -1357,9 +1426,10 @@ export default class ResultDataProvider {
1357
1426
  private alignStepsWithIterationsTestReporter(
1358
1427
  testData: any[],
1359
1428
  iterations: any[],
1360
- selectedFields: any[]
1429
+ selectedFields: any[],
1430
+ includeNotRunTestCases: boolean
1361
1431
  ): any[] {
1362
- return this.alignStepsWithIterationsBase(testData, iterations, {
1432
+ return this.alignStepsWithIterationsBase(testData, iterations, includeNotRunTestCases, true, true, {
1363
1433
  selectedFields,
1364
1434
  shouldProcessStepLevel: (fetchedTestCase, filteredFields) =>
1365
1435
  fetchedTestCase != null &&
@@ -1441,82 +1511,99 @@ export default class ResultDataProvider {
1441
1511
  this.fetchResultDataBasedOnWiTestReporter(project, runId, resultId, fields),
1442
1512
  (resultData, testSuiteId, point, selectedFields) => {
1443
1513
  const { lastRunId, lastResultId, configurationName, lastResultDetails } = point;
1444
- const iteration =
1445
- resultData.iterationDetails.length > 0
1446
- ? resultData.iterationDetails[resultData.iterationDetails.length - 1]
1447
- : undefined;
1448
-
1449
- const resultDataResponse = {
1450
- testCaseName: `${resultData.testCase.name} - ${resultData.testCase.id}`,
1451
- testCaseId: resultData.testCase.id,
1452
- testSuiteName: `${resultData.testSuite.name}`,
1453
- testSuiteId,
1454
- lastRunId,
1455
- lastResultId,
1456
- iteration,
1457
- testCaseRevision: resultData.testCaseRevision,
1458
- resolution: resultData.resolutionState,
1459
- automationStatus: resultData.filteredFields['Microsoft.VSTS.TCM.AutomationStatus'] || undefined,
1460
- analysisAttachments: resultData.analysisAttachments,
1461
- failureType: undefined as string | undefined,
1462
- comment: undefined as string | undefined,
1463
- priority: undefined,
1464
- runBy: undefined as string | undefined,
1465
- executionDate: undefined as string | undefined,
1466
- testCaseResult: undefined as any | undefined,
1467
- errorMessage: undefined as string | undefined,
1468
- configurationName: undefined as string | undefined,
1469
- relatedRequirements: undefined,
1470
- relatedBugs: undefined,
1471
- lastRunResult: undefined as any,
1472
- };
1473
-
1474
- const filteredFields = selectedFields
1475
- ?.filter((field: string) => field.includes('@runResultField') || field.includes('@linked'))
1476
- ?.map((field: string) => field.split('@')[0]);
1514
+ try {
1515
+ const iteration =
1516
+ resultData.iterationDetails.length > 0
1517
+ ? resultData.iterationDetails[resultData.iterationDetails.length - 1]
1518
+ : undefined;
1519
+
1520
+ const resultDataResponse = {
1521
+ testCaseName: `${resultData.testCase.name} - ${resultData.testCase.id}`,
1522
+ testCaseId: resultData.testCase.id,
1523
+ testSuiteName: `${resultData.testSuite.name}`,
1524
+ testSuiteId,
1525
+ lastRunId,
1526
+ lastResultId,
1527
+ iteration,
1528
+ testCaseRevision: resultData.testCaseRevision,
1529
+ resolution: resultData.resolutionState,
1530
+ automationStatus: resultData.filteredFields['Microsoft.VSTS.TCM.AutomationStatus'] || undefined,
1531
+ analysisAttachments: resultData.analysisAttachments,
1532
+ failureType: undefined as string | undefined,
1533
+ comment: undefined as string | undefined,
1534
+ priority: undefined,
1535
+ runBy: undefined as string | undefined,
1536
+ executionDate: undefined as string | undefined,
1537
+ testCaseResult: undefined as any | undefined,
1538
+ errorMessage: undefined as string | undefined,
1539
+ configurationName: undefined as string | undefined,
1540
+ relatedRequirements: undefined,
1541
+ relatedBugs: undefined,
1542
+ lastRunResult: undefined as any,
1543
+ };
1477
1544
 
1478
- if (filteredFields && filteredFields.length > 0) {
1479
- for (const field of filteredFields) {
1480
- switch (field) {
1481
- case 'priority':
1482
- resultDataResponse.priority = resultData.priority;
1483
- break;
1484
- case 'testCaseResult':
1485
- const outcome = resultData.iterationDetails[resultData.iterationDetails.length - 1]?.outcome;
1486
- resultDataResponse.testCaseResult = {
1487
- resultMessage: `${outcome} in Run ${lastRunId}`,
1488
- url: `${this.orgUrl}${projectName}/_testManagement/runs?runId=${lastRunId}&_a=resultSummary&resultId=${lastResultId}`,
1489
- };
1490
- break;
1491
- case 'failureType':
1492
- resultDataResponse.failureType = resultData.failureType;
1493
- break;
1494
- case 'testCaseComment':
1495
- resultDataResponse.comment = resultData.comment || undefined;
1496
- break;
1497
- case 'runBy':
1498
- const runBy = lastResultDetails.runBy.displayName;
1499
- resultDataResponse.runBy = runBy;
1500
- break;
1501
- case 'executionDate':
1502
- resultDataResponse.executionDate = lastResultDetails.dateCompleted;
1503
- break;
1504
- case 'configurationName':
1505
- resultDataResponse.configurationName = configurationName;
1506
- break;
1507
- case 'associatedRequirement':
1508
- resultDataResponse.relatedRequirements = resultData.relatedRequirements;
1509
- break;
1510
- case 'associatedBug':
1511
- resultDataResponse.relatedBugs = resultData.relatedBugs;
1512
- break;
1513
- default:
1514
- logger.debug(`Field ${field} not handled`);
1515
- break;
1545
+ const filteredFields = selectedFields
1546
+ ?.filter((field: string) => field.includes('@runResultField') || field.includes('@linked'))
1547
+ ?.map((field: string) => field.split('@')[0]);
1548
+
1549
+ if (filteredFields && filteredFields.length > 0) {
1550
+ for (const field of filteredFields) {
1551
+ switch (field) {
1552
+ case 'priority':
1553
+ resultDataResponse.priority = resultData.priority;
1554
+ break;
1555
+ case 'testCaseResult':
1556
+ const outcome =
1557
+ resultData.iterationDetails[resultData.iterationDetails.length - 1]?.outcome ||
1558
+ resultData.outcome ||
1559
+ 'NotApplicable';
1560
+ if (lastRunId === undefined || lastResultId === undefined) {
1561
+ resultDataResponse.testCaseResult = {
1562
+ resultMessage: `${this.convertRunStatus(outcome)}`,
1563
+ url: '',
1564
+ };
1565
+ } else {
1566
+ resultDataResponse.testCaseResult = {
1567
+ resultMessage: `${this.convertRunStatus(outcome)} in Run ${lastRunId}`,
1568
+ url: `${this.orgUrl}${projectName}/_testManagement/runs?runId=${lastRunId}&_a=resultSummary&resultId=${lastResultId}`,
1569
+ };
1570
+ }
1571
+
1572
+ break;
1573
+ case 'failureType':
1574
+ resultDataResponse.failureType = resultData.failureType;
1575
+ break;
1576
+ case 'testCaseComment':
1577
+ resultDataResponse.comment = resultData.comment || undefined;
1578
+ break;
1579
+ case 'runBy':
1580
+ const runBy = lastResultDetails.runBy.displayName;
1581
+ resultDataResponse.runBy = runBy;
1582
+ break;
1583
+ case 'executionDate':
1584
+ resultDataResponse.executionDate = lastResultDetails.dateCompleted;
1585
+ break;
1586
+ case 'configurationName':
1587
+ resultDataResponse.configurationName = configurationName;
1588
+ break;
1589
+ case 'associatedRequirement':
1590
+ resultDataResponse.relatedRequirements = resultData.relatedRequirements;
1591
+ break;
1592
+ case 'associatedBug':
1593
+ resultDataResponse.relatedBugs = resultData.relatedBugs;
1594
+ break;
1595
+ default:
1596
+ logger.debug(`Field ${field} not handled`);
1597
+ break;
1598
+ }
1516
1599
  }
1517
1600
  }
1601
+ return resultDataResponse;
1602
+ } catch (err: any) {
1603
+ logger.error(`Error occurred while fetching result data: ${err.message}`);
1604
+ logger.error(`Error stack: ${err.stack}`);
1605
+ return null;
1518
1606
  }
1519
- return resultDataResponse;
1520
1607
  },
1521
1608
  [selectedFields]
1522
1609
  );