@elisra-devops/docgen-data-provider 0.6.0 → 0.8.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.
@@ -66,10 +66,31 @@ export default class ResultDataProvider {
66
66
  * Fetches iteration data for a specific test point.
67
67
  */
68
68
  private fetchIterationData;
69
+ /**
70
+ * Fetching all the linked wi for the given test case
71
+ * @param testCaseId Test case id number
72
+ * @returns Array of linked Work items
73
+ */
74
+ private fetchLinkedWi;
75
+ /**
76
+ * Mapping the linked work item of the OpenPcr table
77
+ * @param wis Work item list
78
+ * @param project
79
+ * @returns array of mapped workitems
80
+ */
81
+ private MapLinkedWorkItem;
82
+ /**
83
+ * Fetching Open PCRs data
84
+ */
85
+ private fetchOpenPcrData;
86
+ /**
87
+ * Fetch Test log data
88
+ */
89
+ private fetchTestLogData;
69
90
  /**
70
91
  * Combines the results of test group result summary, test results summary, and detailed results summary into a single key-value pair array.
71
92
  */
72
- getCombinedResultsSummary(testPlanId: string, projectName: string, selectedSuiteIds?: number[], addConfiguration?: boolean, isHierarchyGroupName?: boolean): Promise<any[]>;
93
+ getCombinedResultsSummary(testPlanId: string, projectName: string, selectedSuiteIds?: number[], addConfiguration?: boolean, isHierarchyGroupName?: boolean, includeOpenPCRs?: boolean, includeTestLog?: boolean): Promise<any[]>;
73
94
  /**
74
95
  * Calculates a summary of test group results.
75
96
  */
@@ -116,6 +116,7 @@ class ResultDataProvider {
116
116
  outcome: testPoint.results?.outcome,
117
117
  lastRunId: testPoint.results?.lastTestRunId,
118
118
  lastResultId: testPoint.results?.lastResultId,
119
+ lastResultDetails: testPoint.results?.lastResultDetails,
119
120
  };
120
121
  }
121
122
  /**
@@ -205,7 +206,8 @@ class ResultDataProvider {
205
206
  }
206
207
  }
207
208
  }
208
- return detailedResults;
209
+ //Filter out all the results with no comment
210
+ return detailedResults.filter((result) => result.stepComments !== '' || result.stepStatus === 'Failed');
209
211
  }
210
212
  /**
211
213
  * Creates a mapping of iterations by their unique keys.
@@ -256,14 +258,131 @@ class ResultDataProvider {
256
258
  testSuiteId,
257
259
  lastRunId,
258
260
  lastResultId,
261
+ //Currently supporting only the
259
262
  iteration: iterations.length > 0 ? iterations[iterations.length - 1] : undefined,
260
263
  };
261
264
  }
265
+ /**
266
+ * Fetching all the linked wi for the given test case
267
+ * @param testCaseId Test case id number
268
+ * @returns Array of linked Work items
269
+ */
270
+ async fetchLinkedWi(project, testCaseId) {
271
+ try {
272
+ // Construct the base URL and fetch linked work items
273
+ const vstmrUrl = new URL(this.orgUrl);
274
+ vstmrUrl.hostname = 'vstmr.dev.azure.com';
275
+ const getLinkedWiUrl = `${vstmrUrl.toString()}${project}/_apis/testresults/results/workitems?workItemCategory=all&testCaseId=${testCaseId}`;
276
+ // Fetch linked work items
277
+ const { value: linkedWorkItems } = await tfs_1.TFSServices.getItemContent(getLinkedWiUrl, this.token);
278
+ // Check if linkedWorkItems is an array
279
+ if (!Array.isArray(linkedWorkItems)) {
280
+ throw new Error('Unexpected format for linked work items data');
281
+ }
282
+ if (linkedWorkItems.length === 0) {
283
+ return [];
284
+ }
285
+ // Prepare list of work item IDs
286
+ const idsString = linkedWorkItems.map((item) => item.id).join(',');
287
+ // Construct URL to fetch work item details
288
+ const getWiDataUrl = `${this.orgUrl.toString()}${project}/_apis/wit/workItems?ids=${idsString}&$expand=1`;
289
+ // Fetch work item details
290
+ const { value: wi } = await tfs_1.TFSServices.getItemContent(getWiDataUrl, this.token);
291
+ // Validate response and return formatted data
292
+ if (!Array.isArray(wi)) {
293
+ throw new Error('Unexpected format for work items data');
294
+ }
295
+ //Filter out wi in Closed or resolved states
296
+ const filteredWi = wi.filter(({ fields }) => {
297
+ const { 'System.WorkItemType': workItemType, 'System.State': state } = fields;
298
+ return ((workItemType === 'Change Request' || workItemType === 'Bug') &&
299
+ state !== 'Closed' &&
300
+ state !== 'Resolved');
301
+ });
302
+ return filteredWi?.length > 0 ? this.MapLinkedWorkItem(filteredWi, project) : [];
303
+ }
304
+ catch (error) {
305
+ logger_1.default.error('Error fetching linked work items:', error);
306
+ return []; // Return an empty array or handle it as needed
307
+ }
308
+ }
309
+ /**
310
+ * Mapping the linked work item of the OpenPcr table
311
+ * @param wis Work item list
312
+ * @param project
313
+ * @returns array of mapped workitems
314
+ */
315
+ MapLinkedWorkItem(wis, project) {
316
+ return wis.map((item) => {
317
+ const { id, fields } = item;
318
+ return {
319
+ pcrId: id,
320
+ workItemType: fields['System.WorkItemType'],
321
+ title: fields['System.Title'],
322
+ severity: fields['Microsoft.VSTS.Common.Severity'] || '',
323
+ pcrUrl: `${this.orgUrl}${project}/_workitems/edit/${id}`,
324
+ };
325
+ });
326
+ }
327
+ /**
328
+ * Fetching Open PCRs data
329
+ */
330
+ async fetchOpenPcrData(testItems, projectName, combinedResults) {
331
+ const linkedWorkItemsPromises = testItems.map((summaryItem) => this.fetchLinkedWi(projectName, summaryItem.testId)
332
+ .then((linkItems) => ({
333
+ ...summaryItem,
334
+ linkItems,
335
+ }))
336
+ .catch((error) => {
337
+ logger_1.default.error(`Error occurred for testCase ${summaryItem.testId}: ${error.message}`);
338
+ return { ...summaryItem, linkItems: [] };
339
+ }));
340
+ const linkedWorkItems = await Promise.all(linkedWorkItemsPromises);
341
+ const flatOpenPcrsItems = linkedWorkItems
342
+ .filter((item) => item.linkItems.length > 0)
343
+ .flatMap((item) => {
344
+ const { linkItems, ...restItem } = item;
345
+ return linkItems.map((linkedItem) => ({ ...restItem, ...linkedItem }));
346
+ });
347
+ if (flatOpenPcrsItems?.length > 0) {
348
+ // Add openPCR to combined results
349
+ combinedResults.push({
350
+ contentControl: 'open-pcr-content-control',
351
+ data: flatOpenPcrsItems,
352
+ skin: 'open-pcr-table',
353
+ });
354
+ }
355
+ }
356
+ /**
357
+ * Fetch Test log data
358
+ */
359
+ fetchTestLogData(testItems, combinedResults) {
360
+ const testLogData = testItems
361
+ .filter((item) => item.lastResultDetails)
362
+ .map((item) => {
363
+ const { dateCompleted, runBy } = item.lastResultDetails;
364
+ return {
365
+ testId: item.testCaseId,
366
+ testName: item.testCaseName,
367
+ executedDate: dateCompleted,
368
+ performedBy: runBy.displayName,
369
+ };
370
+ });
371
+ if (testLogData?.length > 0) {
372
+ // Add openPCR to combined results
373
+ combinedResults.push({
374
+ contentControl: 'test-execution-content-control',
375
+ data: testLogData,
376
+ skin: 'test-log-table',
377
+ });
378
+ }
379
+ }
262
380
  /**
263
381
  * Combines the results of test group result summary, test results summary, and detailed results summary into a single key-value pair array.
264
382
  */
265
- async getCombinedResultsSummary(testPlanId, projectName, selectedSuiteIds, addConfiguration = false, isHierarchyGroupName = false) {
383
+ async getCombinedResultsSummary(testPlanId, projectName, selectedSuiteIds, addConfiguration = false, isHierarchyGroupName = false, includeOpenPCRs = false, includeTestLog = false) {
266
384
  const combinedResults = [];
385
+ //TODO: add support for fetching all the data of the attachments
267
386
  try {
268
387
  // Fetch test suites
269
388
  const suites = await this.fetchTestSuites(testPlanId, projectName, selectedSuiteIds, isHierarchyGroupName);
@@ -276,7 +395,9 @@ class ResultDataProvider {
276
395
  }));
277
396
  const testPoints = await Promise.all(testPointsPromises);
278
397
  // 1. Calculate Test Group Result Summary
279
- const summarizedResults = testPoints.map((testPoint) => {
398
+ const summarizedResults = testPoints
399
+ .filter((testPoint) => testPoint.testPointsItems && testPoint.testPointsItems.length > 0)
400
+ .map((testPoint) => {
280
401
  const groupResultSummary = this.calculateGroupResultSummary(testPoint.testPointsItems || []);
281
402
  return { ...testPoint, groupResultSummary };
282
403
  });
@@ -294,6 +415,7 @@ class ResultDataProvider {
294
415
  });
295
416
  // 2. Calculate Test Results Summary
296
417
  const flattenedTestPoints = this.flattenTestPoints(testPoints);
418
+ logger_1.default.info(`flat test points ${JSON.stringify(flattenedTestPoints)}`);
297
419
  const testResultsSummary = flattenedTestPoints.map((testPoint) => this.formatTestResult(testPoint, addConfiguration));
298
420
  // Add test results summary to combined results
299
421
  combinedResults.push({
@@ -311,6 +433,31 @@ class ResultDataProvider {
311
433
  data: detailedResultsSummary,
312
434
  skin: 'detailed-test-result-table',
313
435
  });
436
+ /* TODO: Add it later after the design of the appendix... also add the add attachment boolean here to see its needed or not...
437
+ //4. Fetch all attachment data
438
+ const iterationDataForAttachments = iterations.map((iterationItem) => {
439
+ return {
440
+ suiteId: iterationItem.suiteId,
441
+ runId: iterationItem.lastRunId,
442
+ resultId: iterationItem.lastResultId,
443
+ iteration: iterationItem.iteration,
444
+ };
445
+ });
446
+
447
+ combinedResults.push({
448
+ contentControl: 'str-attachment',
449
+ data: iterationDataForAttachments,
450
+ skin: 'test-run-attachment-list',
451
+ });
452
+ */
453
+ if (includeOpenPCRs) {
454
+ //5. Open PCRs data (only if enabled)
455
+ await this.fetchOpenPcrData(testResultsSummary, projectName, combinedResults);
456
+ }
457
+ //6. Test Log (only if enabled)
458
+ if (includeTestLog) {
459
+ this.fetchTestLogData(flattenedTestPoints, combinedResults);
460
+ }
314
461
  return combinedResults;
315
462
  }
316
463
  catch (error) {
@@ -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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"}
@@ -1,5 +1,8 @@
1
- import { Links, Trace, Relations } from "../helpers/helper";
2
- import { Query } from "../models/tfs-data";
1
+ import { Links, Trace, Relations } from '../helpers/helper';
2
+ import { Query } from '../models/tfs-data';
3
+ type Dictionary<T> = {
4
+ [key: string]: T[];
5
+ };
3
6
  export default class TicketsDataProvider {
4
7
  orgUrl: string;
5
8
  token: string;
@@ -7,6 +10,7 @@ export default class TicketsDataProvider {
7
10
  constructor(orgUrl: string, token: string);
8
11
  GetWorkItem(project: string, id: string): Promise<any>;
9
12
  GetLinksByIds(project: string, ids: any): Promise<Trace[]>;
13
+ GetTestResult(project: string, runId: string, resultId: string): Promise<any>;
10
14
  GetParentLink(project: string, wi: any): Promise<Trace>;
11
15
  GetRelationsIds(ids: any): Promise<Map<string, Relations>>;
12
16
  GetLinks(project: string, wi: any, links: any): Promise<Links[]>;
@@ -21,6 +25,8 @@ export default class TicketsDataProvider {
21
25
  GetIterationsByTeamName(projectName: string, teamName: string): Promise<any[]>;
22
26
  CreateNewWorkItem(projectName: string, wiBody: any, wiType: string, byPass: boolean): Promise<any>;
23
27
  GetWorkitemAttachments(project: string, id: string): Promise<string[]>;
28
+ GetTestRunResultAttachments(project: string, runId: string, resultId: string): Promise<never[] | Dictionary<any>>;
24
29
  GetWorkitemAttachmentsJSONData(project: string, attachmentId: string): Promise<any>;
25
30
  UpdateWorkItem(projectName: string, wiBody: any, workItemId: number, byPass: boolean): Promise<any>;
26
31
  }
32
+ export {};
@@ -10,8 +10,8 @@ const tfs_data_5 = require("../models/tfs-data");
10
10
  const tfs_data_6 = require("../models/tfs-data");
11
11
  const logger_1 = require("../utils/logger");
12
12
  class TicketsDataProvider {
13
- orgUrl = "";
14
- token = "";
13
+ orgUrl = '';
14
+ token = '';
15
15
  queriesList = new Array();
16
16
  constructor(orgUrl, token) {
17
17
  this.orgUrl = orgUrl;
@@ -37,15 +37,21 @@ class TicketsDataProvider {
37
37
  }
38
38
  return trace;
39
39
  }
40
+ async GetTestResult(project, runId, resultId) {
41
+ const url = new URL(this.orgUrl);
42
+ // Switch to 'vstmr.dev.azure.com'
43
+ url.hostname = 'vstmr.dev.azure.com';
44
+ const vstmrOrgUrl = `${url.toString()}${project}/_apis/tcm/runs/${runId}/results/${resultId}?detailsToInclude=5`;
45
+ return tfs_1.TFSServices.getItemContent(vstmrOrgUrl, this.token);
46
+ }
40
47
  async GetParentLink(project, wi) {
41
48
  let trace = new helper_1.Trace();
42
49
  if (wi != null) {
43
50
  trace.id = wi.id;
44
- trace.title = wi.fields["System.Title"];
45
- trace.url = this.orgUrl + project + "/_workitems/edit/" + wi.id;
46
- if (wi.fields["System.CustomerId"] != null &&
47
- wi.fields["System.CustomerId"] != undefined) {
48
- trace.customerId = wi.fields["System.CustomerId"];
51
+ trace.title = wi.fields['System.Title'];
52
+ trace.url = this.orgUrl + project + '/_workitems/edit/' + wi.id;
53
+ if (wi.fields['System.CustomerId'] != null && wi.fields['System.CustomerId'] != undefined) {
54
+ trace.customerId = wi.fields['System.CustomerId'];
49
55
  }
50
56
  }
51
57
  return trace;
@@ -58,8 +64,8 @@ class TicketsDataProvider {
58
64
  link.id = ids[i].id;
59
65
  if (ids[i].relations != null)
60
66
  for (let j = 0; j < ids[i].relations.length; j++) {
61
- if (ids[i].relations[j].rel != "AttachedFile") {
62
- let index = ids[i].relations[j].url.lastIndexOf("/");
67
+ if (ids[i].relations[j].rel != 'AttachedFile') {
68
+ let index = ids[i].relations[j].url.lastIndexOf('/');
63
69
  let id = ids[i].relations[j].url.substring(index + 1);
64
70
  link.rels.push(id);
65
71
  }
@@ -74,15 +80,15 @@ class TicketsDataProvider {
74
80
  var linkList = new Array();
75
81
  for (let i = 0; i < wi.relations.length; i++) {
76
82
  for (let j = 0; j < links.length; j++) {
77
- let index = wi.relations[i].url.lastIndexOf("/");
83
+ let index = wi.relations[i].url.lastIndexOf('/');
78
84
  let linkId = wi.relations[i].url.substring(index + 1);
79
85
  if (linkId == links[j].id) {
80
86
  var link = new helper_1.Links();
81
87
  link.type = wi.relations[i].rel;
82
88
  link.id = links[j].id;
83
- link.title = links[j].fields["System.Title"];
84
- link.description = links[j].fields["System.Description"];
85
- link.url = this.orgUrl + project + "/_workitems/edit/" + linkId;
89
+ link.title = links[j].fields['System.Title'];
90
+ link.description = links[j].fields['System.Description'];
91
+ link.url = this.orgUrl + project + '/_workitems/edit/' + linkId;
86
92
  linkList.push(link);
87
93
  break;
88
94
  }
@@ -94,7 +100,7 @@ class TicketsDataProvider {
94
100
  async GetSharedQueries(project, path) {
95
101
  let url;
96
102
  try {
97
- if (path == "")
103
+ if (path == '')
98
104
  url = `${this.orgUrl}${project}/_apis/wit/queries/Shared%20Queries?$depth=1`;
99
105
  else
100
106
  url = `${this.orgUrl}${project}/_apis/wit/queries/${path}?$depth=1`;
@@ -129,7 +135,7 @@ class TicketsDataProvider {
129
135
  try {
130
136
  let results = await tfs_1.TFSServices.getItemContent(wiqlHref, this.token);
131
137
  let modeledResult = await this.GetModeledQueryResults(results, project);
132
- if (modeledResult.queryType == "tree") {
138
+ if (modeledResult.queryType == 'tree') {
133
139
  let levelResults = helper_1.Helper.LevelBuilder(modeledResult, modeledResult.workItems[0].fields[0].value);
134
140
  return levelResults;
135
141
  }
@@ -142,7 +148,7 @@ class TicketsDataProvider {
142
148
  let res;
143
149
  let url = `${this.orgUrl}${projectName}/_apis/wit/wiql?$top=2147483646&expand={all}`;
144
150
  try {
145
- res = await tfs_1.TFSServices.getItemContent(url, this.token, "post", {
151
+ res = await tfs_1.TFSServices.getItemContent(url, this.token, 'post', {
146
152
  query: wiql,
147
153
  });
148
154
  }
@@ -158,7 +164,7 @@ class TicketsDataProvider {
158
164
  var wiql = querie._links.wiql;
159
165
  return await this.GetQueryResultsByWiqlHref(wiql.href, project);
160
166
  }
161
- async PopulateWorkItemsByIds(workItemsArray = [], projectName = "") {
167
+ async PopulateWorkItemsByIds(workItemsArray = [], projectName = '') {
162
168
  let url = `${this.orgUrl}${projectName}/_apis/wit/workitemsbatch`;
163
169
  let res = [];
164
170
  let divByMax = Math.floor(workItemsArray.length / 200);
@@ -169,8 +175,8 @@ class TicketsDataProvider {
169
175
  let to = (i + 1) * 200;
170
176
  let currentIds = workItemsArray.slice(from, to);
171
177
  try {
172
- let subRes = await tfs_1.TFSServices.getItemContent(url, this.token, "post", {
173
- $expand: "Relations",
178
+ let subRes = await tfs_1.TFSServices.getItemContent(url, this.token, 'post', {
179
+ $expand: 'Relations',
174
180
  ids: currentIds,
175
181
  });
176
182
  res = [...res, ...subRes.value];
@@ -185,8 +191,8 @@ class TicketsDataProvider {
185
191
  if (modulusByMax !== 0) {
186
192
  try {
187
193
  let currentIds = workItemsArray.slice(workItemsArray.length - modulusByMax, workItemsArray.length);
188
- let subRes = await tfs_1.TFSServices.getItemContent(url, this.token, "post", {
189
- $expand: "Relations",
194
+ let subRes = await tfs_1.TFSServices.getItemContent(url, this.token, 'post', {
195
+ $expand: 'Relations',
190
196
  ids: currentIds,
191
197
  });
192
198
  res = [...res, ...subRes.value];
@@ -223,22 +229,19 @@ class TicketsDataProvider {
223
229
  queryResult.columns[i] = new tfs_data_5.Column();
224
230
  queryResult.workItems[j].fields[i] = new tfs_data_6.value();
225
231
  queryResult.columns[i].name = results.columns[i].name;
226
- queryResult.columns[i].referenceName =
227
- results.columns[i].referenceName;
232
+ queryResult.columns[i].referenceName = results.columns[i].referenceName;
228
233
  queryResult.columns[i].url = results.columns[i].url;
229
- if (results.columns[i].referenceName.toUpperCase() == "SYSTEM.ID") {
234
+ if (results.columns[i].referenceName.toUpperCase() == 'SYSTEM.ID') {
230
235
  queryResult.workItems[j].fields[i].value = wi.id.toString();
231
- queryResult.workItems[j].fields[i].name = "ID";
236
+ queryResult.workItems[j].fields[i].name = 'ID';
232
237
  }
233
- else if (results.columns[i].referenceName.toUpperCase() ==
234
- "SYSTEM.ASSIGNEDTO" &&
238
+ else if (results.columns[i].referenceName.toUpperCase() == 'SYSTEM.ASSIGNEDTO' &&
235
239
  wi.fields[results.columns[i].referenceName] != null)
236
240
  queryResult.workItems[j].fields[i].value =
237
241
  wi.fields[results.columns[i].referenceName].displayName;
238
242
  else {
239
243
  let s = wi.fields[results.columns[i].referenceName];
240
- queryResult.workItems[j].fields[i].value =
241
- wi.fields[results.columns[i].referenceName];
244
+ queryResult.workItems[j].fields[i].value = wi.fields[results.columns[i].referenceName];
242
245
  queryResult.workItems[j].fields[i].name = results.columns[i].name;
243
246
  }
244
247
  }
@@ -260,21 +263,17 @@ class TicketsDataProvider {
260
263
  for (i = 0; i < queryResult.columns.length; i++) {
261
264
  //.. rel.q.workItems[j].fields[i] = new value();
262
265
  queryResult.workItems[j].fields[i] = new tfs_data_6.value();
263
- queryResult.workItems[j].fields[i].name =
264
- queryResult.columns[i].name;
265
- if (results.columns[i].referenceName.toUpperCase() ==
266
- "SYSTEM.ASSIGNEDTO" &&
266
+ queryResult.workItems[j].fields[i].name = queryResult.columns[i].name;
267
+ if (results.columns[i].referenceName.toUpperCase() == 'SYSTEM.ASSIGNEDTO' &&
267
268
  wiT.fields[results.columns[i].referenceName] != null)
268
269
  queryResult.workItems[j].fields[i].value =
269
270
  wiT.fields[results.columns[i].referenceName].displayName;
270
271
  else
271
- queryResult.workItems[j].fields[i].value =
272
- wiT.fields[queryResult.columns[i].referenceName];
272
+ queryResult.workItems[j].fields[i].value = wiT.fields[queryResult.columns[i].referenceName];
273
273
  //}
274
274
  }
275
275
  if (results.workItemRelations[j].source != null)
276
- queryResult.workItems[j].Source =
277
- results.workItemRelations[j].source.id;
276
+ queryResult.workItems[j].Source = results.workItemRelations[j].source.id;
278
277
  }
279
278
  }
280
279
  }
@@ -297,12 +296,14 @@ class TicketsDataProvider {
297
296
  else {
298
297
  url = `${this.orgUrl}${projectName}/_apis/work/teamsettings/iterations`;
299
298
  }
300
- res = await tfs_1.TFSServices.getItemContent(url, this.token, "get");
299
+ res = await tfs_1.TFSServices.getItemContent(url, this.token, 'get');
301
300
  return res;
302
301
  } //GetIterationsByTeamName
303
302
  async CreateNewWorkItem(projectName, wiBody, wiType, byPass) {
304
303
  let url = `${this.orgUrl}${projectName}/_apis/wit/workitems/$${wiType}?bypassRules=${String(byPass).toString()}`;
305
- return tfs_1.TFSServices.getItemContent(url, this.token, "POST", wiBody, { "Content-Type": "application/json-patch+json" });
304
+ return tfs_1.TFSServices.getItemContent(url, this.token, 'POST', wiBody, {
305
+ 'Content-Type': 'application/json-patch+json',
306
+ });
306
307
  } //CreateNewWorkItem
307
308
  async GetWorkitemAttachments(project, id) {
308
309
  let attachmentList = [];
@@ -312,7 +313,7 @@ class TicketsDataProvider {
312
313
  if (!wi.relations)
313
314
  return [];
314
315
  await Promise.all(wi.relations.map(async (relation) => {
315
- if (relation.rel == "AttachedFile") {
316
+ if (relation.rel == 'AttachedFile') {
316
317
  let attachment = JSON.parse(JSON.stringify(relation));
317
318
  attachment.downloadUrl = `${relation.url}/${relation.attributes.name}`;
318
319
  attachmentList.push(attachment);
@@ -326,6 +327,46 @@ class TicketsDataProvider {
326
327
  return [];
327
328
  }
328
329
  }
330
+ async GetTestRunResultAttachments(project, runId, resultId) {
331
+ const includedAttachments = {};
332
+ //Define the case level attachments
333
+ includedAttachments['caseLevel'] = [];
334
+ //Define the step level attachments
335
+ includedAttachments['stepLevel'] = [];
336
+ try {
337
+ let testResult = await this.GetTestResult(project, runId, resultId);
338
+ if (!testResult.iterationDetails || testResult.iterationDetails.length === 0)
339
+ return [];
340
+ const { iterationDetails } = testResult;
341
+ await Promise.all(iterationDetails.forEach((iteration) => {
342
+ const { attachments } = iteration;
343
+ //Skips to the next iteration
344
+ if (attachments === undefined || attachments.length === 0) {
345
+ return;
346
+ }
347
+ attachments.forEach((attachment) => {
348
+ attachment.downloadUrl = `${attachment.url}/${attachment.name}`;
349
+ });
350
+ for (let i = 0; i < attachments.length; i++) {
351
+ let attachment = attachments[i];
352
+ const url = new URL(this.orgUrl);
353
+ // Switch to 'vstmr.dev.azure.com'
354
+ url.hostname = 'vstmr.dev.azure.com';
355
+ const downloadUrl = `${url.toString()}${project}/_apis/testresults/runs/${runId}/results/${resultId}/attachments/${attachment.id}/${attachment.name}`;
356
+ attachment.downloadUrl = downloadUrl;
357
+ attachment.actionPath === undefined || attachment.actionPath === ''
358
+ ? includedAttachments['caseLevel'].push(attachment)
359
+ : includedAttachments['stepLevel'].push(attachment);
360
+ }
361
+ }));
362
+ return includedAttachments;
363
+ }
364
+ catch (e) {
365
+ logger_1.default.error(`error fetching attachments for run ${runId}`);
366
+ logger_1.default.error(`${JSON.stringify(e.message)}`);
367
+ return [];
368
+ }
369
+ }
329
370
  async GetWorkitemAttachmentsJSONData(project, attachmentId) {
330
371
  let wiuRL = `${this.orgUrl}${project}/_apis/wit/attachments/${attachmentId}`;
331
372
  let attachment = await tfs_1.TFSServices.getItemContent(wiuRL, this.token);
@@ -334,8 +375,8 @@ class TicketsDataProvider {
334
375
  async UpdateWorkItem(projectName, wiBody, workItemId, byPass) {
335
376
  let res;
336
377
  let url = `${this.orgUrl}${projectName}/_apis/wit/workitems/${workItemId}?bypassRules=${String(byPass).toString()}`;
337
- res = await tfs_1.TFSServices.getItemContent(url, this.token, "patch", wiBody, {
338
- "Content-Type": "application/json-patch+json",
378
+ res = await tfs_1.TFSServices.getItemContent(url, this.token, 'patch', wiBody, {
379
+ 'Content-Type': 'application/json-patch+json',
339
380
  });
340
381
  return res;
341
382
  } //CreateNewWorkItem