@elisra-devops/docgen-data-provider 1.44.1 → 1.45.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 +35 -6
- package/bin/helpers/helper.js +136 -44
- package/bin/helpers/helper.js.map +1 -1
- package/bin/modules/TestDataProvider.d.ts +3 -3
- package/bin/modules/TestDataProvider.js +29 -8
- package/bin/modules/TestDataProvider.js.map +1 -1
- package/bin/modules/test/testDataProvider.test.js +0 -3
- package/bin/modules/test/testDataProvider.test.js.map +1 -1
- package/package.json +1 -1
- package/src/helpers/helper.ts +219 -67
- package/src/modules/TestDataProvider.ts +56 -14
- package/src/modules/test/testDataProvider.test.ts +0 -3
package/bin/helpers/helper.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Query, Workitem } from
|
|
1
|
+
import { Query, Workitem } from '../models/tfs-data';
|
|
2
2
|
export declare class suiteData {
|
|
3
3
|
name: string;
|
|
4
4
|
id: string;
|
|
@@ -27,11 +27,40 @@ export declare class Trace {
|
|
|
27
27
|
links: Array<Links>;
|
|
28
28
|
}
|
|
29
29
|
export declare class Helper {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
/**
|
|
31
|
+
* Finds test suites recursively starting from a given suite ID
|
|
32
|
+
* @param planId - The test plan ID
|
|
33
|
+
* @param url - Base organization URL
|
|
34
|
+
* @param project - Project name
|
|
35
|
+
* @param suits - Array of all test suites
|
|
36
|
+
* @param foundId - Starting suite ID to search from
|
|
37
|
+
* @param recursive - Whether to search recursively or just direct children
|
|
38
|
+
* @param flatTreeByOneLevel - If true and there's only one level 1 suite with children, flatten the hierarchy by one level
|
|
39
|
+
* @returns Array of suiteData objects representing the hierarchy
|
|
40
|
+
*/
|
|
41
|
+
static findSuitesRecursive(planId: string, url: string, project: string, suits: any[], foundId: string, recursive: boolean, flatTreeByOneLevel?: boolean): Array<suiteData>;
|
|
42
|
+
/**
|
|
43
|
+
* Recursively builds the suite hierarchy
|
|
44
|
+
*/
|
|
45
|
+
private static buildSuiteHierarchy;
|
|
46
|
+
/**
|
|
47
|
+
* Creates a suiteData object from a suite
|
|
48
|
+
*/
|
|
49
|
+
private static createSuiteData;
|
|
50
|
+
/**
|
|
51
|
+
* Determines if hierarchy should be flattened based on conditions:
|
|
52
|
+
* - There is exactly one level 1 suite (direct child of root)
|
|
53
|
+
* - That suite has children (level 2+ suites)
|
|
54
|
+
*/
|
|
55
|
+
private static shouldFlattenHierarchy;
|
|
56
|
+
/**
|
|
57
|
+
* Flattens the hierarchy by one level:
|
|
58
|
+
* - Removes the single level 1 suite
|
|
59
|
+
* - Promotes all level 2+ suites up by one level
|
|
60
|
+
* - Updates parentSuiteId of new level 1 suites to point to root
|
|
61
|
+
*/
|
|
62
|
+
private static flattenHierarchyByOneLevel;
|
|
35
63
|
static levelList: Array<Workitem>;
|
|
36
64
|
static LevelBuilder(results: Query, foundId: string): Array<Workitem>;
|
|
65
|
+
private static buildWorkItemHierarchy;
|
|
37
66
|
}
|
package/bin/helpers/helper.js
CHANGED
|
@@ -23,61 +23,153 @@ class Trace {
|
|
|
23
23
|
}
|
|
24
24
|
exports.Trace = Trace;
|
|
25
25
|
class Helper {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Finds test suites recursively starting from a given suite ID
|
|
28
|
+
* @param planId - The test plan ID
|
|
29
|
+
* @param url - Base organization URL
|
|
30
|
+
* @param project - Project name
|
|
31
|
+
* @param suits - Array of all test suites
|
|
32
|
+
* @param foundId - Starting suite ID to search from
|
|
33
|
+
* @param recursive - Whether to search recursively or just direct children
|
|
34
|
+
* @param flatTreeByOneLevel - If true and there's only one level 1 suite with children, flatten the hierarchy by one level
|
|
35
|
+
* @returns Array of suiteData objects representing the hierarchy
|
|
36
|
+
*/
|
|
37
|
+
static findSuitesRecursive(planId, url, project, suits, foundId, recursive, flatTreeByOneLevel = false) {
|
|
38
|
+
// Create a map for faster lookups
|
|
39
|
+
const suiteMap = new Map();
|
|
40
|
+
suits.forEach((suite) => suiteMap.set(suite.id.toString(), suite));
|
|
41
|
+
const result = [];
|
|
42
|
+
const visited = new Set();
|
|
43
|
+
// Find the starting suite
|
|
44
|
+
const startingSuite = suiteMap.get(foundId);
|
|
45
|
+
if (!startingSuite) {
|
|
46
|
+
return result;
|
|
47
|
+
}
|
|
48
|
+
// Skip root suites (parentSuiteId = 0) - we don't want them in results
|
|
49
|
+
// Just mark them as visited so we can process their children
|
|
50
|
+
if (startingSuite.parentSuiteId === 0) {
|
|
51
|
+
visited.add(foundId);
|
|
52
|
+
}
|
|
53
|
+
// Build the hierarchy
|
|
54
|
+
this.buildSuiteHierarchy(suiteMap, foundId, planId, url, project, result, visited, startingSuite.parentSuiteId === 0 ? 1 : 0, recursive);
|
|
55
|
+
// Apply flattening if conditions are met
|
|
56
|
+
if (flatTreeByOneLevel && this.shouldFlattenHierarchy(result, suiteMap, foundId)) {
|
|
57
|
+
return this.flattenHierarchyByOneLevel(result, foundId);
|
|
58
|
+
}
|
|
59
|
+
return result;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Recursively builds the suite hierarchy
|
|
63
|
+
*/
|
|
64
|
+
static buildSuiteHierarchy(suiteMap, parentId, planId, url, project, result, visited, currentLevel, recursive) {
|
|
65
|
+
// Find all direct children of the current parent
|
|
66
|
+
const children = Array.from(suiteMap.values()).filter((suite) => suite.parentSuiteId.toString() === parentId && !visited.has(suite.id.toString()));
|
|
67
|
+
for (const child of children) {
|
|
68
|
+
const childId = child.id.toString();
|
|
69
|
+
if (visited.has(childId)) {
|
|
70
|
+
continue; // Skip if already processed
|
|
47
71
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
72
|
+
// Create suite data for this child
|
|
73
|
+
const childSuiteData = this.createSuiteData(child, planId, url, project, currentLevel);
|
|
74
|
+
result.push(childSuiteData);
|
|
75
|
+
visited.add(childId);
|
|
76
|
+
// If recursive is false, only get direct children
|
|
77
|
+
if (!recursive && currentLevel > 0) {
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
// Recursively process children of this suite
|
|
81
|
+
if (recursive) {
|
|
82
|
+
this.buildSuiteHierarchy(suiteMap, childId, planId, url, project, result, visited, currentLevel + 1, recursive);
|
|
57
83
|
}
|
|
58
84
|
}
|
|
59
|
-
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Creates a suiteData object from a suite
|
|
88
|
+
*/
|
|
89
|
+
static createSuiteData(suiteInfo, planId, url, project, level) {
|
|
90
|
+
const suite = new suiteData(suiteInfo.title, suiteInfo.id.toString(), suiteInfo.parentSuiteId.toString(), level);
|
|
91
|
+
// Generate appropriate URL based on suite type
|
|
92
|
+
if (suiteInfo.parentSuiteId === 0) {
|
|
93
|
+
// Root suite - link to work item
|
|
94
|
+
suite.url = `${url}/${project}/_workitems/edit/${suiteInfo.id}`;
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
// Child suite - link to test management
|
|
98
|
+
suite.url = `${url}/${project}/_testManagement?planId=${planId}&suiteId=${suiteInfo.id}&_a=tests`;
|
|
99
|
+
}
|
|
100
|
+
return suite;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Determines if hierarchy should be flattened based on conditions:
|
|
104
|
+
* - There is exactly one level 1 suite (direct child of root)
|
|
105
|
+
* - That suite has children (level 2+ suites)
|
|
106
|
+
*/
|
|
107
|
+
static shouldFlattenHierarchy(result, suiteMap, rootId) {
|
|
108
|
+
// Find all level 1 suites (direct children of root) - they have level 1
|
|
109
|
+
const level1Suites = result.filter((suite) => suite.level === 1);
|
|
110
|
+
// Must have exactly one level 1 suite
|
|
111
|
+
if (level1Suites.length !== 1) {
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
const singleLevel1Suite = level1Suites[0];
|
|
115
|
+
// Check if this suite has children by looking for suites with this suite as parent
|
|
116
|
+
const childrenInResult = result.filter((suite) => suite.parent === singleLevel1Suite.id);
|
|
117
|
+
// The suite must have children
|
|
118
|
+
return childrenInResult.length > 0;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Flattens the hierarchy by one level:
|
|
122
|
+
* - Removes the single level 1 suite
|
|
123
|
+
* - Promotes all level 2+ suites up by one level
|
|
124
|
+
* - Updates parentSuiteId of new level 1 suites to point to root
|
|
125
|
+
*/
|
|
126
|
+
static flattenHierarchyByOneLevel(result, rootId) {
|
|
127
|
+
// Find the single level 1 suite to remove (level = 1)
|
|
128
|
+
const level1Suite = result.find((suite) => suite.level === 1);
|
|
129
|
+
if (!level1Suite) {
|
|
130
|
+
return result;
|
|
131
|
+
}
|
|
132
|
+
const level1SuiteId = level1Suite.id;
|
|
133
|
+
// Filter out the level 1 suite and adjust levels/parents for remaining suites
|
|
134
|
+
const flattenedResult = result
|
|
135
|
+
.filter((suite) => suite.id !== level1SuiteId) // Remove the level 1 suite
|
|
136
|
+
.map((suite) => {
|
|
137
|
+
const newSuite = new suiteData(suite.name, suite.id, suite.parent, suite.level - 1);
|
|
138
|
+
newSuite.url = suite.url;
|
|
139
|
+
// If this was a level 2 suite (child of the removed level 1 suite),
|
|
140
|
+
// update its parent to point to the root
|
|
141
|
+
if (suite.parent === level1SuiteId) {
|
|
142
|
+
newSuite.parent = rootId;
|
|
143
|
+
}
|
|
144
|
+
return newSuite;
|
|
145
|
+
});
|
|
146
|
+
return flattenedResult;
|
|
60
147
|
}
|
|
61
148
|
static LevelBuilder(results, foundId) {
|
|
149
|
+
// Reset the level list for each call
|
|
150
|
+
this.levelList = [];
|
|
151
|
+
// Build the hierarchy starting from level 0
|
|
152
|
+
this.buildWorkItemHierarchy(results, foundId, 0);
|
|
153
|
+
return this.levelList;
|
|
154
|
+
}
|
|
155
|
+
static buildWorkItemHierarchy(results, foundId, currentLevel) {
|
|
62
156
|
for (let i = 0; i < results.workItems.length; i++) {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
157
|
+
const workItem = results.workItems[i];
|
|
158
|
+
if (workItem.Source == 0) {
|
|
159
|
+
workItem.level = 0;
|
|
160
|
+
if (!this.levelList.includes(workItem)) {
|
|
161
|
+
this.levelList.push(workItem);
|
|
162
|
+
}
|
|
67
163
|
}
|
|
68
|
-
else if (
|
|
69
|
-
|
|
70
|
-
this.levelList.push(
|
|
71
|
-
|
|
72
|
-
this.
|
|
164
|
+
else if (workItem.Source.toString() == foundId) {
|
|
165
|
+
workItem.level = currentLevel;
|
|
166
|
+
this.levelList.push(workItem);
|
|
167
|
+
// Recursively build hierarchy for children
|
|
168
|
+
this.buildWorkItemHierarchy(results, workItem.fields[0].value, currentLevel + 1);
|
|
73
169
|
}
|
|
74
170
|
}
|
|
75
|
-
return this.levelList;
|
|
76
171
|
}
|
|
77
172
|
}
|
|
78
173
|
exports.Helper = Helper;
|
|
79
|
-
Helper.level = 1;
|
|
80
|
-
Helper.first = true;
|
|
81
|
-
Helper.suitList = new Array();
|
|
82
174
|
Helper.levelList = new Array();
|
|
83
175
|
//# sourceMappingURL=helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/helpers/helper.ts"],"names":[],"mappings":";;;AAEA,MAAa,SAAS;IAMpB,YAAY,IAAY,EAAE,EAAU,EAAE,MAAc,EAAE,KAAa;QACjE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAZD,8BAYC;AACD,MAAa,SAAS;IAAtB;QAEE,SAAI,GAAkB,IAAI,KAAK,EAAU,CAAC;IAC5C,CAAC;CAAA;AAHD,8BAGC;AAED,MAAa,KAAK;CAOjB;AAPD,sBAOC;AACD,MAAa,KAAK;
|
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/helpers/helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,9 +13,9 @@ export default class TestDataProvider {
|
|
|
13
13
|
GetTestPlans(project: string): Promise<string>;
|
|
14
14
|
GetTestSuites(project: string, planId: string): Promise<any>;
|
|
15
15
|
GetTestSuitesForPlan(project: string, planid: string): Promise<any>;
|
|
16
|
-
GetTestSuitesByPlan(project: string, planId: string, recursive: boolean): Promise<any>;
|
|
17
|
-
GetTestSuiteById(project: string, planId: string, suiteId: string, recursive: boolean): Promise<any>;
|
|
18
|
-
GetTestCasesBySuites(project: string, planId: string, suiteId: string, recursive: boolean, includeRequirements: boolean, CustomerRequirementId: boolean, isByRelatedLinkedMom: boolean, stepResultDetailsMap?: Map<string, any>, testCaseToLinkedMomLookup?: Map<number, any>): Promise<any>;
|
|
16
|
+
GetTestSuitesByPlan(project: string, planId: string, recursive: boolean, flatTreeByOneLevel?: boolean, suiteIdsFilter?: number[]): Promise<any>;
|
|
17
|
+
GetTestSuiteById(project: string, planId: string, suiteId: string, recursive: boolean, flatTreeByOneLevel?: boolean, suiteIdsFilter?: number[]): Promise<any>;
|
|
18
|
+
GetTestCasesBySuites(project: string, planId: string, suiteId: string, recursive: boolean, includeRequirements: boolean, CustomerRequirementId: boolean, isByRelatedLinkedMom: boolean, stepResultDetailsMap?: Map<string, any>, testCaseToLinkedMomLookup?: Map<number, any>, preFilteredSuites?: Array<suiteData>): Promise<any>;
|
|
19
19
|
StructureTestCase(project: string, testCases: any, suite: suiteData, includeRequirements: boolean, CustomerRequirementId: boolean, isByRelatedLinkedMom: boolean, requirementToTestCaseTraceMap: Map<string, string[]>, testCaseToRequirementsTraceMap: Map<string, string[]>, stepResultDetailsMap?: Map<string, any>, testCaseToLinkedMomLookup?: Map<number, Set<any>>): Promise<any[]>;
|
|
20
20
|
private createNewRequirement;
|
|
21
21
|
ParseSteps(steps: string): TestSteps[];
|
|
@@ -75,23 +75,44 @@ class TestDataProvider {
|
|
|
75
75
|
let url = this.orgUrl + '/' + project + '/_api/_testManagement/GetTestSuitesForPlan?__v=5&planId=' + planid;
|
|
76
76
|
return await this.fetchWithCache(url);
|
|
77
77
|
}
|
|
78
|
-
async GetTestSuitesByPlan(project, planId, recursive
|
|
78
|
+
async GetTestSuitesByPlan(project, planId, recursive, flatTreeByOneLevel = false, suiteIdsFilter // NEW: Pass through suite filter
|
|
79
|
+
) {
|
|
79
80
|
let suiteId = Number(planId) + 1;
|
|
80
|
-
return this.GetTestSuiteById(project, planId, suiteId.toString(), recursive);
|
|
81
|
+
return this.GetTestSuiteById(project, planId, suiteId.toString(), recursive, flatTreeByOneLevel, suiteIdsFilter);
|
|
81
82
|
}
|
|
82
|
-
async GetTestSuiteById(project, planId, suiteId, recursive) {
|
|
83
|
+
async GetTestSuiteById(project, planId, suiteId, recursive, flatTreeByOneLevel = false, suiteIdsFilter) {
|
|
83
84
|
let testSuites = await this.GetTestSuitesForPlan(project, planId);
|
|
84
|
-
|
|
85
|
-
let
|
|
86
|
-
|
|
85
|
+
// Start with all suites
|
|
86
|
+
let filteredSuites = testSuites.testSuites;
|
|
87
|
+
// Filter by specific suite IDs if provided (e.g., testSuiteArray: [30,32,33,34,31])
|
|
88
|
+
if (suiteIdsFilter && suiteIdsFilter.length > 0) {
|
|
89
|
+
// Convert filter IDs to strings once for efficient comparison
|
|
90
|
+
const filterAsStrings = suiteIdsFilter.map(id => id.toString());
|
|
91
|
+
filteredSuites = filteredSuites.filter((suite) => {
|
|
92
|
+
const suiteIdString = suite.id.toString();
|
|
93
|
+
// Always include the starting suite (needed for findSuitesRecursive to work)
|
|
94
|
+
const isStartingSuite = suiteIdString === suiteId;
|
|
95
|
+
// Check if suite ID is in the target filter list
|
|
96
|
+
const isTargetSuite = filterAsStrings.includes(suiteIdString);
|
|
97
|
+
return isStartingSuite || isTargetSuite;
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
let dataSuites = helper_1.Helper.findSuitesRecursive(planId, this.orgUrl, project, filteredSuites, suiteId, recursive, flatTreeByOneLevel);
|
|
87
101
|
return dataSuites;
|
|
88
102
|
}
|
|
89
|
-
async GetTestCasesBySuites(project, planId, suiteId, recursive, includeRequirements, CustomerRequirementId, isByRelatedLinkedMom, stepResultDetailsMap, testCaseToLinkedMomLookup) {
|
|
103
|
+
async GetTestCasesBySuites(project, planId, suiteId, recursive, includeRequirements, CustomerRequirementId, isByRelatedLinkedMom, stepResultDetailsMap, testCaseToLinkedMomLookup, preFilteredSuites) {
|
|
90
104
|
let testCasesList = new Array();
|
|
91
105
|
const requirementToTestCaseTraceMap = new Map();
|
|
92
106
|
const testCaseToRequirementsTraceMap = new Map();
|
|
93
107
|
// const startTime = performance.now();
|
|
94
|
-
|
|
108
|
+
// Use pre-filtered suites if provided, otherwise fetch them (for backward compatibility)
|
|
109
|
+
let suitesTestCasesList;
|
|
110
|
+
if (preFilteredSuites && preFilteredSuites.length > 0) {
|
|
111
|
+
suitesTestCasesList = preFilteredSuites;
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
suitesTestCasesList = await this.GetTestSuiteById(project, planId, suiteId, recursive);
|
|
115
|
+
}
|
|
95
116
|
// Create array of promises that each return their test cases
|
|
96
117
|
const testCaseListPromises = suitesTestCasesList.map((suite) => this.limit(async () => {
|
|
97
118
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestDataProvider.js","sourceRoot":"","sources":["../../src/modules/TestDataProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TestDataProvider.js","sourceRoot":"","sources":["../../src/modules/TestDataProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,8 +19,6 @@ describe('TestDataProvider', () => {
|
|
|
19
19
|
const mockTestCaseId = '101112';
|
|
20
20
|
beforeEach(() => {
|
|
21
21
|
jest.clearAllMocks();
|
|
22
|
-
helper_1.Helper.suitList = [];
|
|
23
|
-
helper_1.Helper.first = false;
|
|
24
22
|
testDataProvider = new TestDataProvider_1.default(mockOrgUrl, mockToken);
|
|
25
23
|
});
|
|
26
24
|
// Helper to access private method for testing
|
|
@@ -178,7 +176,6 @@ describe('TestDataProvider', () => {
|
|
|
178
176
|
expect(tfs_1.TFSServices.getItemContent).toHaveBeenCalledWith(`${mockOrgUrl}/${mockProject}/_api/_testManagement/GetTestSuitesForPlan?__v=5&planId=${mockPlanId}`, mockToken);
|
|
179
177
|
expect(helper_1.Helper.findSuitesRecursive).toHaveBeenCalledWith(mockPlanId, mockOrgUrl, mockProject, mockTestSuites.testSuites, mockSuiteId, true);
|
|
180
178
|
expect(result).toEqual(mockSuiteData);
|
|
181
|
-
expect(helper_1.Helper.first).toBe(true);
|
|
182
179
|
});
|
|
183
180
|
});
|
|
184
181
|
describe('GetTestCases', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testDataProvider.test.js","sourceRoot":"","sources":["../../../src/modules/test/testDataProvider.test.ts"],"names":[],"mappings":";;AAAA,2CAAgD;AAChD,iDAAyD;AACzD,0DAAmD;AAEnD,+CAAwC;AAGxC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC/B,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAChC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AAClC,IAAI,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;AAC9C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAY,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAElE,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAI,gBAAkC,CAAC;IACvC,MAAM,UAAU,GAAG,gCAAgC,CAAC;IACpD,MAAM,SAAS,GAAG,YAAY,CAAC;IAC/B,MAAM,WAAW,GAAG,aAAa,CAAC;IAClC,MAAM,UAAU,GAAG,KAAK,CAAC;IACzB,MAAM,WAAW,GAAG,KAAK,CAAC;IAC1B,MAAM,cAAc,GAAG,QAAQ,CAAC;IAEhC,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"testDataProvider.test.js","sourceRoot":"","sources":["../../../src/modules/test/testDataProvider.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/helpers/helper.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Query, Workitem } from
|
|
1
|
+
import { Query, Workitem } from '../models/tfs-data';
|
|
2
2
|
|
|
3
3
|
export class suiteData {
|
|
4
4
|
name: string;
|
|
@@ -32,88 +32,240 @@ export class Trace {
|
|
|
32
32
|
url: string;
|
|
33
33
|
customerId: string;
|
|
34
34
|
links: Array<Links>;
|
|
35
|
-
|
|
36
|
-
|
|
37
35
|
}
|
|
38
36
|
|
|
39
37
|
export class Helper {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
38
|
+
/**
|
|
39
|
+
* Finds test suites recursively starting from a given suite ID
|
|
40
|
+
* @param planId - The test plan ID
|
|
41
|
+
* @param url - Base organization URL
|
|
42
|
+
* @param project - Project name
|
|
43
|
+
* @param suits - Array of all test suites
|
|
44
|
+
* @param foundId - Starting suite ID to search from
|
|
45
|
+
* @param recursive - Whether to search recursively or just direct children
|
|
46
|
+
* @param flatTreeByOneLevel - If true and there's only one level 1 suite with children, flatten the hierarchy by one level
|
|
47
|
+
* @returns Array of suiteData objects representing the hierarchy
|
|
48
|
+
*/
|
|
44
49
|
public static findSuitesRecursive(
|
|
45
50
|
planId: string,
|
|
46
51
|
url: string,
|
|
47
52
|
project: string,
|
|
48
|
-
suits: any,
|
|
53
|
+
suits: any[],
|
|
49
54
|
foundId: string,
|
|
50
|
-
recursive: boolean
|
|
55
|
+
recursive: boolean,
|
|
56
|
+
flatTreeByOneLevel: boolean = false
|
|
51
57
|
): Array<suiteData> {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
58
|
+
// Create a map for faster lookups
|
|
59
|
+
const suiteMap = new Map<string, any>();
|
|
60
|
+
suits.forEach((suite) => suiteMap.set(suite.id.toString(), suite));
|
|
61
|
+
|
|
62
|
+
const result: Array<suiteData> = [];
|
|
63
|
+
const visited = new Set<string>();
|
|
64
|
+
|
|
65
|
+
// Find the starting suite
|
|
66
|
+
const startingSuite = suiteMap.get(foundId);
|
|
67
|
+
if (!startingSuite) {
|
|
68
|
+
return result;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// Skip root suites (parentSuiteId = 0) - we don't want them in results
|
|
72
|
+
// Just mark them as visited so we can process their children
|
|
73
|
+
if (startingSuite.parentSuiteId === 0) {
|
|
74
|
+
visited.add(foundId);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// Build the hierarchy
|
|
78
|
+
this.buildSuiteHierarchy(
|
|
79
|
+
suiteMap,
|
|
80
|
+
foundId,
|
|
81
|
+
planId,
|
|
82
|
+
url,
|
|
83
|
+
project,
|
|
84
|
+
result,
|
|
85
|
+
visited,
|
|
86
|
+
startingSuite.parentSuiteId === 0 ? 1 : 0,
|
|
87
|
+
recursive
|
|
88
|
+
);
|
|
89
|
+
|
|
90
|
+
// Apply flattening if conditions are met
|
|
91
|
+
if (flatTreeByOneLevel && this.shouldFlattenHierarchy(result, suiteMap, foundId)) {
|
|
92
|
+
return this.flattenHierarchyByOneLevel(result, foundId);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
return result;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Recursively builds the suite hierarchy
|
|
100
|
+
*/
|
|
101
|
+
private static buildSuiteHierarchy(
|
|
102
|
+
suiteMap: Map<string, any>,
|
|
103
|
+
parentId: string,
|
|
104
|
+
planId: string,
|
|
105
|
+
url: string,
|
|
106
|
+
project: string,
|
|
107
|
+
result: Array<suiteData>,
|
|
108
|
+
visited: Set<string>,
|
|
109
|
+
currentLevel: number,
|
|
110
|
+
recursive: boolean
|
|
111
|
+
): void {
|
|
112
|
+
// Find all direct children of the current parent
|
|
113
|
+
const children = Array.from(suiteMap.values()).filter(
|
|
114
|
+
(suite) => suite.parentSuiteId.toString() === parentId && !visited.has(suite.id.toString())
|
|
115
|
+
);
|
|
116
|
+
|
|
117
|
+
for (const child of children) {
|
|
118
|
+
const childId = child.id.toString();
|
|
119
|
+
|
|
120
|
+
if (visited.has(childId)) {
|
|
121
|
+
continue; // Skip if already processed
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
// Create suite data for this child
|
|
125
|
+
const childSuiteData = this.createSuiteData(child, planId, url, project, currentLevel);
|
|
126
|
+
result.push(childSuiteData);
|
|
127
|
+
visited.add(childId);
|
|
128
|
+
|
|
129
|
+
// If recursive is false, only get direct children
|
|
130
|
+
if (!recursive && currentLevel > 0) {
|
|
131
|
+
continue;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// Recursively process children of this suite
|
|
135
|
+
if (recursive) {
|
|
136
|
+
this.buildSuiteHierarchy(
|
|
137
|
+
suiteMap,
|
|
138
|
+
childId,
|
|
139
|
+
planId,
|
|
140
|
+
url,
|
|
141
|
+
project,
|
|
142
|
+
result,
|
|
143
|
+
visited,
|
|
144
|
+
currentLevel + 1,
|
|
145
|
+
recursive
|
|
146
|
+
);
|
|
97
147
|
}
|
|
98
148
|
}
|
|
99
|
-
return this.suitList;
|
|
100
149
|
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Creates a suiteData object from a suite
|
|
153
|
+
*/
|
|
154
|
+
private static createSuiteData(
|
|
155
|
+
suiteInfo: any,
|
|
156
|
+
planId: string,
|
|
157
|
+
url: string,
|
|
158
|
+
project: string,
|
|
159
|
+
level: number
|
|
160
|
+
): suiteData {
|
|
161
|
+
const suite = new suiteData(
|
|
162
|
+
suiteInfo.title,
|
|
163
|
+
suiteInfo.id.toString(),
|
|
164
|
+
suiteInfo.parentSuiteId.toString(),
|
|
165
|
+
level
|
|
166
|
+
);
|
|
167
|
+
|
|
168
|
+
// Generate appropriate URL based on suite type
|
|
169
|
+
if (suiteInfo.parentSuiteId === 0) {
|
|
170
|
+
// Root suite - link to work item
|
|
171
|
+
suite.url = `${url}/${project}/_workitems/edit/${suiteInfo.id}`;
|
|
172
|
+
} else {
|
|
173
|
+
// Child suite - link to test management
|
|
174
|
+
suite.url = `${url}/${project}/_testManagement?planId=${planId}&suiteId=${suiteInfo.id}&_a=tests`;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
return suite;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Determines if hierarchy should be flattened based on conditions:
|
|
182
|
+
* - There is exactly one level 1 suite (direct child of root)
|
|
183
|
+
* - That suite has children (level 2+ suites)
|
|
184
|
+
*/
|
|
185
|
+
private static shouldFlattenHierarchy(
|
|
186
|
+
result: Array<suiteData>,
|
|
187
|
+
suiteMap: Map<string, any>,
|
|
188
|
+
rootId: string
|
|
189
|
+
): boolean {
|
|
190
|
+
// Find all level 1 suites (direct children of root) - they have level 1
|
|
191
|
+
const level1Suites = result.filter((suite) => suite.level === 1);
|
|
192
|
+
|
|
193
|
+
// Must have exactly one level 1 suite
|
|
194
|
+
if (level1Suites.length !== 1) {
|
|
195
|
+
return false;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
const singleLevel1Suite = level1Suites[0];
|
|
199
|
+
|
|
200
|
+
// Check if this suite has children by looking for suites with this suite as parent
|
|
201
|
+
const childrenInResult = result.filter((suite) => suite.parent === singleLevel1Suite.id);
|
|
202
|
+
|
|
203
|
+
// The suite must have children
|
|
204
|
+
return childrenInResult.length > 0;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* Flattens the hierarchy by one level:
|
|
209
|
+
* - Removes the single level 1 suite
|
|
210
|
+
* - Promotes all level 2+ suites up by one level
|
|
211
|
+
* - Updates parentSuiteId of new level 1 suites to point to root
|
|
212
|
+
*/
|
|
213
|
+
private static flattenHierarchyByOneLevel(result: Array<suiteData>, rootId: string): Array<suiteData> {
|
|
214
|
+
// Find the single level 1 suite to remove (level = 1)
|
|
215
|
+
const level1Suite = result.find((suite) => suite.level === 1);
|
|
216
|
+
if (!level1Suite) {
|
|
217
|
+
return result;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
const level1SuiteId = level1Suite.id;
|
|
221
|
+
|
|
222
|
+
// Filter out the level 1 suite and adjust levels/parents for remaining suites
|
|
223
|
+
const flattenedResult = result
|
|
224
|
+
.filter((suite) => suite.id !== level1SuiteId) // Remove the level 1 suite
|
|
225
|
+
.map((suite) => {
|
|
226
|
+
const newSuite = new suiteData(suite.name, suite.id, suite.parent, suite.level - 1);
|
|
227
|
+
newSuite.url = suite.url;
|
|
228
|
+
|
|
229
|
+
// If this was a level 2 suite (child of the removed level 1 suite),
|
|
230
|
+
// update its parent to point to the root
|
|
231
|
+
if (suite.parent === level1SuiteId) {
|
|
232
|
+
newSuite.parent = rootId;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
return newSuite;
|
|
236
|
+
});
|
|
237
|
+
|
|
238
|
+
return flattenedResult;
|
|
239
|
+
}
|
|
240
|
+
|
|
101
241
|
public static levelList: Array<Workitem> = new Array<Workitem>();
|
|
242
|
+
|
|
102
243
|
public static LevelBuilder(results: Query, foundId: string): Array<Workitem> {
|
|
244
|
+
// Reset the level list for each call
|
|
245
|
+
this.levelList = [];
|
|
246
|
+
|
|
247
|
+
// Build the hierarchy starting from level 0
|
|
248
|
+
this.buildWorkItemHierarchy(results, foundId, 0);
|
|
249
|
+
|
|
250
|
+
return this.levelList;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
private static buildWorkItemHierarchy(results: Query, foundId: string, currentLevel: number): void {
|
|
103
254
|
for (let i = 0; i < results.workItems.length; i++) {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
this.
|
|
255
|
+
const workItem = results.workItems[i];
|
|
256
|
+
|
|
257
|
+
if (workItem.Source == 0) {
|
|
258
|
+
workItem.level = 0;
|
|
259
|
+
if (!this.levelList.includes(workItem)) {
|
|
260
|
+
this.levelList.push(workItem);
|
|
261
|
+
}
|
|
262
|
+
} else if (workItem.Source.toString() == foundId) {
|
|
263
|
+
workItem.level = currentLevel;
|
|
264
|
+
this.levelList.push(workItem);
|
|
265
|
+
|
|
266
|
+
// Recursively build hierarchy for children
|
|
267
|
+
this.buildWorkItemHierarchy(results, workItem.fields[0].value, currentLevel + 1);
|
|
114
268
|
}
|
|
115
269
|
}
|
|
116
|
-
|
|
117
|
-
return this.levelList;
|
|
118
270
|
}
|
|
119
271
|
}
|
|
@@ -80,23 +80,58 @@ export default class TestDataProvider {
|
|
|
80
80
|
return await this.fetchWithCache(url);
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
async GetTestSuitesByPlan(
|
|
83
|
+
async GetTestSuitesByPlan(
|
|
84
|
+
project: string,
|
|
85
|
+
planId: string,
|
|
86
|
+
recursive: boolean,
|
|
87
|
+
flatTreeByOneLevel: boolean = false,
|
|
88
|
+
suiteIdsFilter?: number[] // NEW: Pass through suite filter
|
|
89
|
+
): Promise<any> {
|
|
84
90
|
let suiteId = Number(planId) + 1;
|
|
85
|
-
return this.GetTestSuiteById(project, planId, suiteId.toString(), recursive);
|
|
91
|
+
return this.GetTestSuiteById(project, planId, suiteId.toString(), recursive, flatTreeByOneLevel, suiteIdsFilter);
|
|
86
92
|
}
|
|
87
93
|
|
|
88
|
-
async GetTestSuiteById(
|
|
94
|
+
async GetTestSuiteById(
|
|
95
|
+
project: string,
|
|
96
|
+
planId: string,
|
|
97
|
+
suiteId: string,
|
|
98
|
+
recursive: boolean,
|
|
99
|
+
flatTreeByOneLevel: boolean = false,
|
|
100
|
+
suiteIdsFilter?: number[]
|
|
101
|
+
): Promise<any> {
|
|
89
102
|
let testSuites = await this.GetTestSuitesForPlan(project, planId);
|
|
90
|
-
|
|
103
|
+
|
|
104
|
+
// Start with all suites
|
|
105
|
+
let filteredSuites = testSuites.testSuites;
|
|
106
|
+
|
|
107
|
+
// Filter by specific suite IDs if provided (e.g., testSuiteArray: [30,32,33,34,31])
|
|
108
|
+
if (suiteIdsFilter && suiteIdsFilter.length > 0) {
|
|
109
|
+
// Convert filter IDs to strings once for efficient comparison
|
|
110
|
+
const filterAsStrings = suiteIdsFilter.map(id => id.toString());
|
|
111
|
+
|
|
112
|
+
filteredSuites = filteredSuites.filter((suite: any) => {
|
|
113
|
+
const suiteIdString = suite.id.toString();
|
|
114
|
+
|
|
115
|
+
// Always include the starting suite (needed for findSuitesRecursive to work)
|
|
116
|
+
const isStartingSuite = suiteIdString === suiteId;
|
|
117
|
+
|
|
118
|
+
// Check if suite ID is in the target filter list
|
|
119
|
+
const isTargetSuite = filterAsStrings.includes(suiteIdString);
|
|
120
|
+
|
|
121
|
+
return isStartingSuite || isTargetSuite;
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
|
|
91
125
|
let dataSuites: any = Helper.findSuitesRecursive(
|
|
92
126
|
planId,
|
|
93
127
|
this.orgUrl,
|
|
94
128
|
project,
|
|
95
|
-
|
|
129
|
+
filteredSuites,
|
|
96
130
|
suiteId,
|
|
97
|
-
recursive
|
|
131
|
+
recursive,
|
|
132
|
+
flatTreeByOneLevel
|
|
98
133
|
);
|
|
99
|
-
|
|
134
|
+
|
|
100
135
|
return dataSuites;
|
|
101
136
|
}
|
|
102
137
|
|
|
@@ -109,19 +144,26 @@ export default class TestDataProvider {
|
|
|
109
144
|
CustomerRequirementId: boolean,
|
|
110
145
|
isByRelatedLinkedMom: boolean,
|
|
111
146
|
stepResultDetailsMap?: Map<string, any>,
|
|
112
|
-
testCaseToLinkedMomLookup?: Map<number, any
|
|
147
|
+
testCaseToLinkedMomLookup?: Map<number, any>,
|
|
148
|
+
preFilteredSuites?: Array<suiteData>
|
|
113
149
|
): Promise<any> {
|
|
114
150
|
let testCasesList: Array<any> = new Array<any>();
|
|
115
151
|
const requirementToTestCaseTraceMap: Map<string, string[]> = new Map();
|
|
116
152
|
const testCaseToRequirementsTraceMap: Map<string, string[]> = new Map();
|
|
117
153
|
// const startTime = performance.now();
|
|
118
154
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
155
|
+
// Use pre-filtered suites if provided, otherwise fetch them (for backward compatibility)
|
|
156
|
+
let suitesTestCasesList: Array<suiteData>;
|
|
157
|
+
if (preFilteredSuites && preFilteredSuites.length > 0) {
|
|
158
|
+
suitesTestCasesList = preFilteredSuites;
|
|
159
|
+
} else {
|
|
160
|
+
suitesTestCasesList = await this.GetTestSuiteById(
|
|
161
|
+
project,
|
|
162
|
+
planId,
|
|
163
|
+
suiteId,
|
|
164
|
+
recursive
|
|
165
|
+
);
|
|
166
|
+
}
|
|
125
167
|
|
|
126
168
|
// Create array of promises that each return their test cases
|
|
127
169
|
const testCaseListPromises = suitesTestCasesList.map((suite) =>
|
|
@@ -22,8 +22,6 @@ describe('TestDataProvider', () => {
|
|
|
22
22
|
|
|
23
23
|
beforeEach(() => {
|
|
24
24
|
jest.clearAllMocks();
|
|
25
|
-
(Helper.suitList as any) = [];
|
|
26
|
-
(Helper.first as any) = false;
|
|
27
25
|
|
|
28
26
|
testDataProvider = new TestDataProvider(mockOrgUrl, mockToken);
|
|
29
27
|
});
|
|
@@ -242,7 +240,6 @@ describe('TestDataProvider', () => {
|
|
|
242
240
|
true
|
|
243
241
|
);
|
|
244
242
|
expect(result).toEqual(mockSuiteData);
|
|
245
|
-
expect(Helper.first).toBe(true);
|
|
246
243
|
});
|
|
247
244
|
});
|
|
248
245
|
|