@elisra-devops/docgen-data-provider 1.103.0 → 1.105.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/bin/helpers/helper.d.ts +2 -1
- package/bin/helpers/helper.js +5 -4
- package/bin/helpers/helper.js.map +1 -1
- package/bin/models/tfs-data.d.ts +1 -0
- package/bin/models/tfs-data.js.map +1 -1
- package/bin/modules/ResultDataProvider.d.ts +1 -0
- package/bin/modules/ResultDataProvider.js +63 -1
- package/bin/modules/ResultDataProvider.js.map +1 -1
- package/bin/modules/TestDataProvider.d.ts +4 -0
- package/bin/modules/TestDataProvider.js +99 -14
- package/bin/modules/TestDataProvider.js.map +1 -1
- package/bin/modules/TicketsDataProvider.js +14 -3
- package/bin/modules/TicketsDataProvider.js.map +1 -1
- package/bin/tests/helpers/helper.test.js +2 -1
- package/bin/tests/helpers/helper.test.js.map +1 -1
- package/bin/tests/modules/ResultDataProvider.test.js +75 -0
- package/bin/tests/modules/ResultDataProvider.test.js.map +1 -1
- package/bin/tests/modules/testDataProvider.test.js +162 -9
- package/bin/tests/modules/testDataProvider.test.js.map +1 -1
- package/bin/tests/modules/ticketsDataProvider.test.js +66 -0
- package/bin/tests/modules/ticketsDataProvider.test.js.map +1 -1
- package/package.json +1 -1
- package/src/helpers/helper.ts +19 -4
- package/src/models/tfs-data.ts +1 -0
- package/src/modules/ResultDataProvider.ts +87 -1
- package/src/modules/TestDataProvider.ts +130 -22
- package/src/modules/TicketsDataProvider.ts +18 -5
- package/src/tests/helpers/helper.test.ts +2 -1
- package/src/tests/modules/ResultDataProvider.test.ts +94 -0
- package/src/tests/modules/testDataProvider.test.ts +225 -9
- package/src/tests/modules/ticketsDataProvider.test.ts +75 -0
package/bin/helpers/helper.d.ts
CHANGED
|
@@ -5,7 +5,8 @@ export declare class suiteData {
|
|
|
5
5
|
parent: string;
|
|
6
6
|
level: number;
|
|
7
7
|
url: string;
|
|
8
|
-
|
|
8
|
+
description: string;
|
|
9
|
+
constructor(name: string, id: string, parent: string, level: number, description?: string);
|
|
9
10
|
}
|
|
10
11
|
export declare class Relations {
|
|
11
12
|
id: string;
|
package/bin/helpers/helper.js
CHANGED
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Helper = exports.Trace = exports.Links = exports.Relations = exports.suiteData = void 0;
|
|
4
4
|
class suiteData {
|
|
5
|
-
constructor(name, id, parent, level) {
|
|
5
|
+
constructor(name, id, parent, level, description = '') {
|
|
6
6
|
this.name = name;
|
|
7
7
|
this.id = id;
|
|
8
8
|
this.parent = parent;
|
|
9
9
|
this.level = level;
|
|
10
|
+
this.description = description;
|
|
10
11
|
}
|
|
11
12
|
}
|
|
12
13
|
exports.suiteData = suiteData;
|
|
@@ -54,7 +55,7 @@ class Helper {
|
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
57
|
// Found children of the selected suite - add them to results
|
|
57
|
-
let suit = new suiteData(suits[i].title, suits[i].id, foundId, parentLevel);
|
|
58
|
+
let suit = new suiteData(suits[i].title, suits[i].id, foundId, parentLevel, suits[i].description || '');
|
|
58
59
|
suit.url =
|
|
59
60
|
url + project + '/_testManagement?planId=' + planId + '&suiteId=' + suits[i].id + '&_a=tests';
|
|
60
61
|
this.suitList.push(suit);
|
|
@@ -67,7 +68,7 @@ class Helper {
|
|
|
67
68
|
}
|
|
68
69
|
else if (suits[i].id == foundId && this.first) {
|
|
69
70
|
// Found the selected nested suite itself - add it to results
|
|
70
|
-
let suit = new suiteData(suits[i].title, suits[i].id, suits[i].parentSuiteId, this.level + 1);
|
|
71
|
+
let suit = new suiteData(suits[i].title, suits[i].id, suits[i].parentSuiteId, this.level + 1, suits[i].description || '');
|
|
71
72
|
suit.url =
|
|
72
73
|
url + project + '/_testManagement?planId=' + planId + '&suiteId=' + suits[i].id + '&_a=tests';
|
|
73
74
|
this.suitList.push(suit);
|
|
@@ -80,7 +81,7 @@ class Helper {
|
|
|
80
81
|
else {
|
|
81
82
|
// Root suites (parentSuiteId = 0) - these do NOT get added to results
|
|
82
83
|
if (suits[i].id == foundId && Helper.first) {
|
|
83
|
-
let suit = new suiteData(suits[i].title, suits[i].id, foundId, this.level);
|
|
84
|
+
let suit = new suiteData(suits[i].title, suits[i].id, foundId, this.level, suits[i].description || '');
|
|
84
85
|
suit.url = url + project + '/_workitems/edit/' + suits[i].id;
|
|
85
86
|
Helper.first = false;
|
|
86
87
|
if (recursive == false) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/helpers/helper.ts"],"names":[],"mappings":";;;AAEA,MAAa,SAAS;
|
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/helpers/helper.ts"],"names":[],"mappings":"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"}
|
package/bin/models/tfs-data.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tfs-data.js","sourceRoot":"","sources":["../../src/models/tfs-data.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"tfs-data.js","sourceRoot":"","sources":["../../src/models/tfs-data.ts"],"names":[],"mappings":";;;AAyLA,oDAQC;AAED,8DAMC;AAED,8CAQC;AAED,8CAEC;AAvND,MAAa,aAAa;CAGzB;AAHD,sCAGC;AAED,MAAa,KAAK;IAAlB;QAIE,YAAO,GAAa,IAAI,KAAK,EAAU,CAAC;QACxC,qDAAqD;QACrD,cAAS,GAAe,IAAI,KAAK,EAAY,CAAC;IAChD,CAAC;CAAA;AAPD,sBAOC;AACD,MAAa,SAAS;CAQrB;AARD,8BAQC;AAED,MAAa,MAAM;CAIlB;AAJD,wBAIC;AAED,MAAM,UAAU;CAGf;AAED,MAAM,KAAK;CAIV;AAED,MAAa,QAAQ;IAArB;QAKE,WAAM,GAAW,CAAC,CAAC;IAGrB,CAAC;CAAA;AARD,4BAQC;AACD,MAAa,KAAK;CAGjB;AAHD,sBAGC;AACD,IAAK,eAGJ;AAHD,WAAK,eAAe;IAClB,6DAAY,CAAA;IACZ,qEAAgB,CAAA;AAClB,CAAC,EAHI,eAAe,KAAf,eAAe,QAGnB;AACD,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,8BAAiB,CAAA;AACnB,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB;AAED,MAAM,gBAAgB;CAGrB;AAED,MAAM,gBAAgB;CAIrB;AAED,MAAM,YAAY;CAGjB;AAED,MAAM,MAAM;CAGX;AAED,MAAM,MAAM;CAGX;AA0CD,MAAa,QAAQ;IAYnB;QALA,4BAAuB,GAAU,EAAE,CAAC;QAMlC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;CACF;AAfD,4BAeC;AAyCD,SAAgB,oBAAoB,CAClC,EAAU,EACV,MAAc,EACd,KAAa,EACb,GAAW,EACX,YAAoB;IAEpB,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAClD,CAAC;AAED,SAAgB,yBAAyB,CACvC,EAAU,EACV,KAAa,EACb,UAAmB;IAEnB,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACxD,CAAC;AAED,SAAgB,iBAAiB,CAC/B,EAAU,EACV,IAAY,EACZ,KAAa,EACb,GAAW,EACX,MAAc;IAEd,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;AAC1C,CAAC;AAED,SAAgB,iBAAiB,CAAC,EAAU,EAAE,KAAa,EAAE,QAAiB;IAC5E,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC9C,CAAC;AAED,MAAa,SAAS;CAMrB;AAND,8BAMC"}
|
|
@@ -116,6 +116,7 @@ export default class ResultDataProvider {
|
|
|
116
116
|
* 3) `System.Description` / `Description` from work-item field list (`workItemFields`)
|
|
117
117
|
*/
|
|
118
118
|
private buildMewpTestCaseDescriptionMap;
|
|
119
|
+
private enrichMewpTestCaseMapsFromLatestWorkItems;
|
|
119
120
|
private extractMewpTestCaseId;
|
|
120
121
|
private buildTestCaseStepsXmlMap;
|
|
121
122
|
private extractStepsXmlFromTestCaseItem;
|
|
@@ -534,9 +534,14 @@ class ResultDataProvider {
|
|
|
534
534
|
}
|
|
535
535
|
}
|
|
536
536
|
const preloadedStepXmlCount = stepsXmlByTestCase.size;
|
|
537
|
+
const latestWorkItemMapStats = await this.enrichMewpTestCaseMapsFromLatestWorkItems(projectName, [...allTestCaseIds], stepsXmlByTestCase, testCaseTitleMap, testCaseDescriptionMap);
|
|
537
538
|
const fallbackStepLoadStats = await this.enrichMewpStepsXmlMapFromWorkItems(projectName, [...allTestCaseIds], stepsXmlByTestCase);
|
|
538
539
|
logger_1.default.info(`MEWP internal validation steps source summary: testCases=${allTestCaseIds.size} ` +
|
|
539
|
-
`fromSuitePayload=${preloadedStepXmlCount}
|
|
540
|
+
`fromSuitePayload=${preloadedStepXmlCount} ` +
|
|
541
|
+
`fromLatestWorkItem=${latestWorkItemMapStats.stepsLoadedFromLatest} ` +
|
|
542
|
+
`titleFromLatest=${latestWorkItemMapStats.titleLoadedFromLatest} ` +
|
|
543
|
+
`descriptionFromLatest=${latestWorkItemMapStats.descriptionLoadedFromLatest} ` +
|
|
544
|
+
`fromWorkItemFallback=${fallbackStepLoadStats.loadedFromFallback} ` +
|
|
540
545
|
`stepsXmlAvailable=${stepsXmlByTestCase.size} unresolved=${fallbackStepLoadStats.unresolvedCount}`);
|
|
541
546
|
const validL2BaseKeys = new Set([...requirementFamilies.keys()]);
|
|
542
547
|
const diagnostics = {
|
|
@@ -1290,6 +1295,63 @@ class ResultDataProvider {
|
|
|
1290
1295
|
}
|
|
1291
1296
|
return map;
|
|
1292
1297
|
}
|
|
1298
|
+
async enrichMewpTestCaseMapsFromLatestWorkItems(projectName, testCaseIds, stepsXmlByTestCase, testCaseTitleMap, testCaseDescriptionMap) {
|
|
1299
|
+
var _a, _b;
|
|
1300
|
+
const uniqueIds = [...new Set(testCaseIds)]
|
|
1301
|
+
.map((id) => Number(id))
|
|
1302
|
+
.filter((id) => Number.isFinite(id) && id > 0);
|
|
1303
|
+
if (uniqueIds.length === 0) {
|
|
1304
|
+
return {
|
|
1305
|
+
stepsLoadedFromLatest: 0,
|
|
1306
|
+
titleLoadedFromLatest: 0,
|
|
1307
|
+
descriptionLoadedFromLatest: 0,
|
|
1308
|
+
};
|
|
1309
|
+
}
|
|
1310
|
+
let stepsLoadedFromLatest = 0;
|
|
1311
|
+
let titleLoadedFromLatest = 0;
|
|
1312
|
+
let descriptionLoadedFromLatest = 0;
|
|
1313
|
+
try {
|
|
1314
|
+
const latestWorkItems = await this.fetchWorkItemsByIds(projectName, uniqueIds, false);
|
|
1315
|
+
for (const workItem of latestWorkItems || []) {
|
|
1316
|
+
const id = Number((workItem === null || workItem === void 0 ? void 0 : workItem.id) || 0);
|
|
1317
|
+
if (!Number.isFinite(id) || id <= 0)
|
|
1318
|
+
continue;
|
|
1319
|
+
const fields = (workItem === null || workItem === void 0 ? void 0 : workItem.fields) || {};
|
|
1320
|
+
const latestStepsXml = this.extractStepsXmlFromFieldsMap(fields);
|
|
1321
|
+
if (latestStepsXml) {
|
|
1322
|
+
const previous = String(stepsXmlByTestCase.get(id) || '');
|
|
1323
|
+
if (previous !== latestStepsXml) {
|
|
1324
|
+
stepsLoadedFromLatest += 1;
|
|
1325
|
+
}
|
|
1326
|
+
stepsXmlByTestCase.set(id, latestStepsXml);
|
|
1327
|
+
}
|
|
1328
|
+
const latestTitle = this.toMewpComparableText((_a = this.getFieldValueByName(fields, 'System.Title')) !== null && _a !== void 0 ? _a : this.getFieldValueByName(fields, 'Title'));
|
|
1329
|
+
if (latestTitle) {
|
|
1330
|
+
const previous = String(testCaseTitleMap.get(id) || '');
|
|
1331
|
+
if (previous !== latestTitle) {
|
|
1332
|
+
titleLoadedFromLatest += 1;
|
|
1333
|
+
}
|
|
1334
|
+
testCaseTitleMap.set(id, latestTitle);
|
|
1335
|
+
}
|
|
1336
|
+
const latestDescription = this.toMewpComparableText((_b = this.getFieldValueByName(fields, 'System.Description')) !== null && _b !== void 0 ? _b : this.getFieldValueByName(fields, 'Description'));
|
|
1337
|
+
if (latestDescription) {
|
|
1338
|
+
const previous = String(testCaseDescriptionMap.get(id) || '');
|
|
1339
|
+
if (previous !== latestDescription) {
|
|
1340
|
+
descriptionLoadedFromLatest += 1;
|
|
1341
|
+
}
|
|
1342
|
+
testCaseDescriptionMap.set(id, latestDescription);
|
|
1343
|
+
}
|
|
1344
|
+
}
|
|
1345
|
+
}
|
|
1346
|
+
catch (error) {
|
|
1347
|
+
logger_1.default.warn(`MEWP internal validation: failed to load latest test-case fields: ${(error === null || error === void 0 ? void 0 : error.message) || error}`);
|
|
1348
|
+
}
|
|
1349
|
+
return {
|
|
1350
|
+
stepsLoadedFromLatest,
|
|
1351
|
+
titleLoadedFromLatest,
|
|
1352
|
+
descriptionLoadedFromLatest,
|
|
1353
|
+
};
|
|
1354
|
+
}
|
|
1293
1355
|
extractMewpTestCaseId(runResult) {
|
|
1294
1356
|
var _a;
|
|
1295
1357
|
const testCaseId = Number((runResult === null || runResult === void 0 ? void 0 : runResult.testCaseId) || ((_a = runResult === null || runResult === void 0 ? void 0 : runResult.testCase) === null || _a === void 0 ? void 0 : _a.id) || 0);
|