@elisra-devops/docgen-data-provider 1.44.1 → 1.46.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.
@@ -1,4 +1,4 @@
1
- import { Query, Workitem } from "../models/tfs-data";
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
- static level: number;
31
- static first: boolean;
32
- static buildSuiteslevel(dataSuites: any): any;
33
- static suitList: Array<suiteData>;
34
- static findSuitesRecursive(planId: string, url: string, project: string, suits: any, foundId: string, recursive: boolean): Array<suiteData>;
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
  }
@@ -23,61 +23,188 @@ class Trace {
23
23
  }
24
24
  exports.Trace = Trace;
25
25
  class Helper {
26
- static buildSuiteslevel(dataSuites) { }
27
- static findSuitesRecursive(planId, url, project, suits, foundId, recursive) {
28
- for (let i = 0; i < suits.length; i++) {
29
- if (suits[i].parentSuiteId != 0) {
30
- if (suits[i].parentSuiteId == foundId) {
31
- let suit = new suiteData(suits[i].title, suits[i].id, foundId, this.level++);
32
- suit.url =
33
- url +
34
- project +
35
- "/_testManagement?planId=" +
36
- planId +
37
- "&suiteId=" +
38
- suits[i].id +
39
- "&_a=tests";
40
- this.suitList.push(suit);
41
- if (recursive == false) {
42
- return this.suitList;
43
- }
44
- this.findSuitesRecursive(planId, url, project, suits, suits[i].id, true);
45
- this.level--;
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
+ console.log(`[findSuitesRecursive] Starting with foundId: ${foundId}, flatTreeByOneLevel: ${flatTreeByOneLevel}`);
39
+ console.log(`[findSuitesRecursive] Total suits provided: ${suits.length}`);
40
+ // Create a map for faster lookups
41
+ const suiteMap = new Map();
42
+ suits.forEach((suite) => suiteMap.set(suite.id.toString(), suite));
43
+ const result = [];
44
+ const visited = new Set();
45
+ // Find the starting suite
46
+ const startingSuite = suiteMap.get(foundId);
47
+ if (!startingSuite) {
48
+ console.log(`[findSuitesRecursive] ERROR: Starting suite ${foundId} not found in suite map`);
49
+ return result;
50
+ }
51
+ console.log(`[findSuitesRecursive] Starting suite found: ${startingSuite.title} (ID: ${startingSuite.id}, parentSuiteId: ${startingSuite.parentSuiteId})`);
52
+ // Skip root suites (parentSuiteId = 0) - we don't want them in results
53
+ // Just mark them as visited so we can process their children
54
+ if (startingSuite.parentSuiteId === 0) {
55
+ console.log(`[findSuitesRecursive] Starting suite is root (parentSuiteId = 0), marking as visited`);
56
+ visited.add(foundId);
57
+ }
58
+ // Build the hierarchy
59
+ const startingLevel = startingSuite.parentSuiteId === 0 ? 1 : 0;
60
+ console.log(`[findSuitesRecursive] Building hierarchy starting at level: ${startingLevel}`);
61
+ this.buildSuiteHierarchy(suiteMap, foundId, planId, url, project, result, visited, startingLevel, recursive);
62
+ console.log(`[findSuitesRecursive] Hierarchy built, result count: ${result.length}`);
63
+ console.log(`[findSuitesRecursive] Result suites:`, result.map(s => `${s.name} (ID: ${s.id}, level: ${s.level}, parent: ${s.parent})`));
64
+ // Apply flattening if conditions are met
65
+ if (flatTreeByOneLevel) {
66
+ console.log(`[findSuitesRecursive] Checking flattening conditions...`);
67
+ if (this.shouldFlattenHierarchy(result, suiteMap, foundId)) {
68
+ console.log(`[findSuitesRecursive] Flattening conditions met, applying flattening...`);
69
+ const flattened = this.flattenHierarchyByOneLevel(result, foundId);
70
+ console.log(`[findSuitesRecursive] After flattening:`, flattened.map(s => `${s.name} (ID: ${s.id}, level: ${s.level}, parent: ${s.parent})`));
71
+ return flattened;
47
72
  }
48
73
  else {
49
- if (suits[i].id == foundId && Helper.first) {
50
- let suit = new suiteData(suits[i].title, suits[i].id, foundId, this.level);
51
- suit.url = url + project + "/_workitems/edit/" + suits[i].id;
52
- Helper.first = false;
53
- if (recursive == false) {
54
- return this.suitList;
55
- }
56
- }
74
+ console.log(`[findSuitesRecursive] Flattening conditions NOT met`);
57
75
  }
58
76
  }
59
- return this.suitList;
77
+ console.log(`[findSuitesRecursive] Returning ${result.length} suites (no flattening applied)`);
78
+ return result;
79
+ }
80
+ /**
81
+ * Recursively builds the suite hierarchy
82
+ */
83
+ static buildSuiteHierarchy(suiteMap, parentId, planId, url, project, result, visited, currentLevel, recursive) {
84
+ // Find all direct children of the current parent
85
+ const children = Array.from(suiteMap.values()).filter((suite) => suite.parentSuiteId.toString() === parentId && !visited.has(suite.id.toString()));
86
+ for (const child of children) {
87
+ const childId = child.id.toString();
88
+ if (visited.has(childId)) {
89
+ continue; // Skip if already processed
90
+ }
91
+ // Create suite data for this child
92
+ const childSuiteData = this.createSuiteData(child, planId, url, project, currentLevel);
93
+ result.push(childSuiteData);
94
+ visited.add(childId);
95
+ // If recursive is false, only get direct children
96
+ if (!recursive && currentLevel > 0) {
97
+ continue;
98
+ }
99
+ // Recursively process children of this suite
100
+ if (recursive) {
101
+ this.buildSuiteHierarchy(suiteMap, childId, planId, url, project, result, visited, currentLevel + 1, recursive);
102
+ }
103
+ }
104
+ }
105
+ /**
106
+ * Creates a suiteData object from a suite
107
+ */
108
+ static createSuiteData(suiteInfo, planId, url, project, level) {
109
+ const suite = new suiteData(suiteInfo.title, suiteInfo.id.toString(), suiteInfo.parentSuiteId.toString(), level);
110
+ // Generate appropriate URL based on suite type
111
+ if (suiteInfo.parentSuiteId === 0) {
112
+ // Root suite - link to work item
113
+ suite.url = `${url}/${project}/_workitems/edit/${suiteInfo.id}`;
114
+ }
115
+ else {
116
+ // Child suite - link to test management
117
+ suite.url = `${url}/${project}/_testManagement?planId=${planId}&suiteId=${suiteInfo.id}&_a=tests`;
118
+ }
119
+ return suite;
120
+ }
121
+ /**
122
+ * Determines if hierarchy should be flattened based on conditions:
123
+ * - There is exactly one level 1 suite (direct child of root)
124
+ * - That suite has children (level 2+ suites)
125
+ */
126
+ static shouldFlattenHierarchy(result, suiteMap, rootId) {
127
+ console.log(`[shouldFlattenHierarchy] Checking flattening conditions for rootId: ${rootId}`);
128
+ console.log(`[shouldFlattenHierarchy] Total result suites: ${result.length}`);
129
+ // Find all level 1 suites (direct children of root) - they have level 1
130
+ const level1Suites = result.filter((suite) => suite.level === 1);
131
+ console.log(`[shouldFlattenHierarchy] Found ${level1Suites.length} level 1 suites:`, level1Suites.map(s => `${s.name} (ID: ${s.id})`));
132
+ // Must have exactly one level 1 suite
133
+ if (level1Suites.length !== 1) {
134
+ console.log(`[shouldFlattenHierarchy] CONDITION FAILED: Not exactly one level 1 suite (found ${level1Suites.length})`);
135
+ return false;
136
+ }
137
+ const singleLevel1Suite = level1Suites[0];
138
+ console.log(`[shouldFlattenHierarchy] Single level 1 suite: ${singleLevel1Suite.name} (ID: ${singleLevel1Suite.id})`);
139
+ // Check if this suite has children by looking for suites with this suite as parent
140
+ const childrenInResult = result.filter((suite) => suite.parent === singleLevel1Suite.id);
141
+ console.log(`[shouldFlattenHierarchy] Found ${childrenInResult.length} children of level 1 suite:`, childrenInResult.map(s => `${s.name} (ID: ${s.id}, level: ${s.level})`));
142
+ // The suite must have children
143
+ const hasChildren = childrenInResult.length > 0;
144
+ console.log(`[shouldFlattenHierarchy] Suite has children: ${hasChildren}`);
145
+ console.log(`[shouldFlattenHierarchy] FLATTENING CONDITIONS ${hasChildren ? 'MET' : 'NOT MET'}`);
146
+ return hasChildren;
147
+ }
148
+ /**
149
+ * Flattens the hierarchy by one level:
150
+ * - Removes the single level 1 suite
151
+ * - Promotes all level 2+ suites up by one level
152
+ * - Updates parentSuiteId of new level 1 suites to point to root
153
+ */
154
+ static flattenHierarchyByOneLevel(result, rootId) {
155
+ console.log(`[flattenHierarchyByOneLevel] Starting flattening process for rootId: ${rootId}`);
156
+ console.log(`[flattenHierarchyByOneLevel] Input suites:`, result.map(s => `${s.name} (ID: ${s.id}, level: ${s.level}, parent: ${s.parent})`));
157
+ // Find the single level 1 suite to remove (level = 1)
158
+ const level1Suite = result.find((suite) => suite.level === 1);
159
+ if (!level1Suite) {
160
+ console.log(`[flattenHierarchyByOneLevel] ERROR: No level 1 suite found to remove`);
161
+ return result;
162
+ }
163
+ const level1SuiteId = level1Suite.id;
164
+ console.log(`[flattenHierarchyByOneLevel] Removing level 1 suite: ${level1Suite.name} (ID: ${level1SuiteId})`);
165
+ // Filter out the level 1 suite and adjust levels/parents for remaining suites
166
+ const flattenedResult = result
167
+ .filter((suite) => suite.id !== level1SuiteId) // Remove the level 1 suite
168
+ .map((suite) => {
169
+ const newSuite = new suiteData(suite.name, suite.id, suite.parent, suite.level - 1);
170
+ newSuite.url = suite.url;
171
+ // If this was a level 2 suite (child of the removed level 1 suite),
172
+ // update its parent to point to the root
173
+ if (suite.parent === level1SuiteId) {
174
+ console.log(`[flattenHierarchyByOneLevel] Updating parent of ${suite.name} from ${level1SuiteId} to ${rootId}`);
175
+ newSuite.parent = rootId;
176
+ }
177
+ console.log(`[flattenHierarchyByOneLevel] Processed suite: ${newSuite.name} (ID: ${newSuite.id}, level: ${suite.level} -> ${newSuite.level}, parent: ${suite.parent} -> ${newSuite.parent})`);
178
+ return newSuite;
179
+ });
180
+ console.log(`[flattenHierarchyByOneLevel] Flattening complete. Result:`, flattenedResult.map(s => `${s.name} (ID: ${s.id}, level: ${s.level}, parent: ${s.parent})`));
181
+ return flattenedResult;
60
182
  }
61
183
  static LevelBuilder(results, foundId) {
184
+ // Reset the level list for each call
185
+ this.levelList = [];
186
+ // Build the hierarchy starting from level 0
187
+ this.buildWorkItemHierarchy(results, foundId, 0);
188
+ return this.levelList;
189
+ }
190
+ static buildWorkItemHierarchy(results, foundId, currentLevel) {
62
191
  for (let i = 0; i < results.workItems.length; i++) {
63
- if (results.workItems[i].Source == 0) {
64
- results.workItems[i].level = 0;
65
- if (!this.levelList.includes(results.workItems[i]))
66
- this.levelList.push(results.workItems[i]);
192
+ const workItem = results.workItems[i];
193
+ if (workItem.Source == 0) {
194
+ workItem.level = 0;
195
+ if (!this.levelList.includes(workItem)) {
196
+ this.levelList.push(workItem);
197
+ }
67
198
  }
68
- else if (results.workItems[i].Source.toString() == foundId) {
69
- results.workItems[i].level = this.level++;
70
- this.levelList.push(results.workItems[i]);
71
- this.LevelBuilder(results, results.workItems[i].fields[0].value);
72
- this.level--;
199
+ else if (workItem.Source.toString() == foundId) {
200
+ workItem.level = currentLevel;
201
+ this.levelList.push(workItem);
202
+ // Recursively build hierarchy for children
203
+ this.buildWorkItemHierarchy(results, workItem.fields[0].value, currentLevel + 1);
73
204
  }
74
205
  }
75
- return this.levelList;
76
206
  }
77
207
  }
78
208
  exports.Helper = Helper;
79
- Helper.level = 1;
80
- Helper.first = true;
81
- Helper.suitList = new Array();
82
209
  Helper.levelList = new Array();
83
210
  //# sourceMappingURL=helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/helpers/helper.ts"],"names":[],"mappings":"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"}
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
- helper_1.Helper.suitList = [];
85
- let dataSuites = helper_1.Helper.findSuitesRecursive(planId, this.orgUrl, project, testSuites.testSuites, suiteId, recursive);
86
- helper_1.Helper.first = true;
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
- let suitesTestCasesList = await this.GetTestSuiteById(project, planId, suiteId, recursive);
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":"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"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elisra-devops/docgen-data-provider",
3
- "version": "1.44.1",
3
+ "version": "1.46.0",
4
4
  "description": "A document generator data provider, aimed to retrive data from azure devops",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,4 +1,4 @@
1
- import { Query, Workitem } from "../models/tfs-data";
1
+ import { Query, Workitem } from '../models/tfs-data';
2
2
 
3
3
  export class suiteData {
4
4
  name: string;
@@ -32,88 +32,281 @@ 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
- static level: number = 1;
41
- static first: boolean = true;
42
- static buildSuiteslevel(dataSuites: any): any { }
43
- public static suitList: Array<suiteData> = new Array<suiteData>();
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
- for (let i = 0; i < suits.length; i++) {
53
- if (suits[i].parentSuiteId != 0) {
54
- if (suits[i].parentSuiteId == foundId) {
55
- let suit: suiteData = new suiteData(
56
- suits[i].title,
57
- suits[i].id,
58
- foundId,
59
- this.level++
60
- );
61
- suit.url =
62
- url +
63
- project +
64
- "/_testManagement?planId=" +
65
- planId +
66
- "&suiteId=" +
67
- suits[i].id +
68
- "&_a=tests";
69
- this.suitList.push(suit);
70
- if (recursive == false) {
71
- return this.suitList;
72
- }
73
- this.findSuitesRecursive(
74
- planId,
75
- url,
76
- project,
77
- suits,
78
- suits[i].id,
79
- true
80
- );
81
- this.level--;
82
- }
58
+ console.log(`[findSuitesRecursive] Starting with foundId: ${foundId}, flatTreeByOneLevel: ${flatTreeByOneLevel}`);
59
+ console.log(`[findSuitesRecursive] Total suits provided: ${suits.length}`);
60
+
61
+ // Create a map for faster lookups
62
+ const suiteMap = new Map<string, any>();
63
+ suits.forEach((suite) => suiteMap.set(suite.id.toString(), suite));
64
+
65
+ const result: Array<suiteData> = [];
66
+ const visited = new Set<string>();
67
+
68
+ // Find the starting suite
69
+ const startingSuite = suiteMap.get(foundId);
70
+ if (!startingSuite) {
71
+ console.log(`[findSuitesRecursive] ERROR: Starting suite ${foundId} not found in suite map`);
72
+ return result;
73
+ }
74
+
75
+ console.log(`[findSuitesRecursive] Starting suite found: ${startingSuite.title} (ID: ${startingSuite.id}, parentSuiteId: ${startingSuite.parentSuiteId})`);
76
+
77
+ // Skip root suites (parentSuiteId = 0) - we don't want them in results
78
+ // Just mark them as visited so we can process their children
79
+ if (startingSuite.parentSuiteId === 0) {
80
+ console.log(`[findSuitesRecursive] Starting suite is root (parentSuiteId = 0), marking as visited`);
81
+ visited.add(foundId);
82
+ }
83
+
84
+ // Build the hierarchy
85
+ const startingLevel = startingSuite.parentSuiteId === 0 ? 1 : 0;
86
+ console.log(`[findSuitesRecursive] Building hierarchy starting at level: ${startingLevel}`);
87
+
88
+ this.buildSuiteHierarchy(
89
+ suiteMap,
90
+ foundId,
91
+ planId,
92
+ url,
93
+ project,
94
+ result,
95
+ visited,
96
+ startingLevel,
97
+ recursive
98
+ );
99
+
100
+ console.log(`[findSuitesRecursive] Hierarchy built, result count: ${result.length}`);
101
+ console.log(`[findSuitesRecursive] Result suites:`, result.map(s => `${s.name} (ID: ${s.id}, level: ${s.level}, parent: ${s.parent})`));
102
+
103
+ // Apply flattening if conditions are met
104
+ if (flatTreeByOneLevel) {
105
+ console.log(`[findSuitesRecursive] Checking flattening conditions...`);
106
+ if (this.shouldFlattenHierarchy(result, suiteMap, foundId)) {
107
+ console.log(`[findSuitesRecursive] Flattening conditions met, applying flattening...`);
108
+ const flattened = this.flattenHierarchyByOneLevel(result, foundId);
109
+ console.log(`[findSuitesRecursive] After flattening:`, flattened.map(s => `${s.name} (ID: ${s.id}, level: ${s.level}, parent: ${s.parent})`));
110
+ return flattened;
83
111
  } else {
84
- if (suits[i].id == foundId && Helper.first) {
85
- let suit: suiteData = new suiteData(
86
- suits[i].title,
87
- suits[i].id,
88
- foundId,
89
- this.level
90
- );
91
- suit.url = url + project + "/_workitems/edit/" + suits[i].id;
92
- Helper.first = false;
93
- if (recursive == false) {
94
- return this.suitList;
95
- }
96
- }
112
+ console.log(`[findSuitesRecursive] Flattening conditions NOT met`);
97
113
  }
98
114
  }
99
- return this.suitList;
115
+
116
+ console.log(`[findSuitesRecursive] Returning ${result.length} suites (no flattening applied)`);
117
+ return result;
118
+ }
119
+
120
+ /**
121
+ * Recursively builds the suite hierarchy
122
+ */
123
+ private static buildSuiteHierarchy(
124
+ suiteMap: Map<string, any>,
125
+ parentId: string,
126
+ planId: string,
127
+ url: string,
128
+ project: string,
129
+ result: Array<suiteData>,
130
+ visited: Set<string>,
131
+ currentLevel: number,
132
+ recursive: boolean
133
+ ): void {
134
+ // Find all direct children of the current parent
135
+ const children = Array.from(suiteMap.values()).filter(
136
+ (suite) => suite.parentSuiteId.toString() === parentId && !visited.has(suite.id.toString())
137
+ );
138
+
139
+ for (const child of children) {
140
+ const childId = child.id.toString();
141
+
142
+ if (visited.has(childId)) {
143
+ continue; // Skip if already processed
144
+ }
145
+
146
+ // Create suite data for this child
147
+ const childSuiteData = this.createSuiteData(child, planId, url, project, currentLevel);
148
+ result.push(childSuiteData);
149
+ visited.add(childId);
150
+
151
+ // If recursive is false, only get direct children
152
+ if (!recursive && currentLevel > 0) {
153
+ continue;
154
+ }
155
+
156
+ // Recursively process children of this suite
157
+ if (recursive) {
158
+ this.buildSuiteHierarchy(
159
+ suiteMap,
160
+ childId,
161
+ planId,
162
+ url,
163
+ project,
164
+ result,
165
+ visited,
166
+ currentLevel + 1,
167
+ recursive
168
+ );
169
+ }
170
+ }
171
+ }
172
+
173
+ /**
174
+ * Creates a suiteData object from a suite
175
+ */
176
+ private static createSuiteData(
177
+ suiteInfo: any,
178
+ planId: string,
179
+ url: string,
180
+ project: string,
181
+ level: number
182
+ ): suiteData {
183
+ const suite = new suiteData(
184
+ suiteInfo.title,
185
+ suiteInfo.id.toString(),
186
+ suiteInfo.parentSuiteId.toString(),
187
+ level
188
+ );
189
+
190
+ // Generate appropriate URL based on suite type
191
+ if (suiteInfo.parentSuiteId === 0) {
192
+ // Root suite - link to work item
193
+ suite.url = `${url}/${project}/_workitems/edit/${suiteInfo.id}`;
194
+ } else {
195
+ // Child suite - link to test management
196
+ suite.url = `${url}/${project}/_testManagement?planId=${planId}&suiteId=${suiteInfo.id}&_a=tests`;
197
+ }
198
+
199
+ return suite;
100
200
  }
201
+
202
+ /**
203
+ * Determines if hierarchy should be flattened based on conditions:
204
+ * - There is exactly one level 1 suite (direct child of root)
205
+ * - That suite has children (level 2+ suites)
206
+ */
207
+ private static shouldFlattenHierarchy(
208
+ result: Array<suiteData>,
209
+ suiteMap: Map<string, any>,
210
+ rootId: string
211
+ ): boolean {
212
+ console.log(`[shouldFlattenHierarchy] Checking flattening conditions for rootId: ${rootId}`);
213
+ console.log(`[shouldFlattenHierarchy] Total result suites: ${result.length}`);
214
+
215
+ // Find all level 1 suites (direct children of root) - they have level 1
216
+ const level1Suites = result.filter((suite) => suite.level === 1);
217
+ console.log(`[shouldFlattenHierarchy] Found ${level1Suites.length} level 1 suites:`, level1Suites.map(s => `${s.name} (ID: ${s.id})`));
218
+
219
+ // Must have exactly one level 1 suite
220
+ if (level1Suites.length !== 1) {
221
+ console.log(`[shouldFlattenHierarchy] CONDITION FAILED: Not exactly one level 1 suite (found ${level1Suites.length})`);
222
+ return false;
223
+ }
224
+
225
+ const singleLevel1Suite = level1Suites[0];
226
+ console.log(`[shouldFlattenHierarchy] Single level 1 suite: ${singleLevel1Suite.name} (ID: ${singleLevel1Suite.id})`);
227
+
228
+ // Check if this suite has children by looking for suites with this suite as parent
229
+ const childrenInResult = result.filter((suite) => suite.parent === singleLevel1Suite.id);
230
+ console.log(`[shouldFlattenHierarchy] Found ${childrenInResult.length} children of level 1 suite:`, childrenInResult.map(s => `${s.name} (ID: ${s.id}, level: ${s.level})`));
231
+
232
+ // The suite must have children
233
+ const hasChildren = childrenInResult.length > 0;
234
+ console.log(`[shouldFlattenHierarchy] Suite has children: ${hasChildren}`);
235
+ console.log(`[shouldFlattenHierarchy] FLATTENING CONDITIONS ${hasChildren ? 'MET' : 'NOT MET'}`);
236
+
237
+ return hasChildren;
238
+ }
239
+
240
+ /**
241
+ * Flattens the hierarchy by one level:
242
+ * - Removes the single level 1 suite
243
+ * - Promotes all level 2+ suites up by one level
244
+ * - Updates parentSuiteId of new level 1 suites to point to root
245
+ */
246
+ private static flattenHierarchyByOneLevel(result: Array<suiteData>, rootId: string): Array<suiteData> {
247
+ console.log(`[flattenHierarchyByOneLevel] Starting flattening process for rootId: ${rootId}`);
248
+ console.log(`[flattenHierarchyByOneLevel] Input suites:`, result.map(s => `${s.name} (ID: ${s.id}, level: ${s.level}, parent: ${s.parent})`));
249
+
250
+ // Find the single level 1 suite to remove (level = 1)
251
+ const level1Suite = result.find((suite) => suite.level === 1);
252
+ if (!level1Suite) {
253
+ console.log(`[flattenHierarchyByOneLevel] ERROR: No level 1 suite found to remove`);
254
+ return result;
255
+ }
256
+
257
+ const level1SuiteId = level1Suite.id;
258
+ console.log(`[flattenHierarchyByOneLevel] Removing level 1 suite: ${level1Suite.name} (ID: ${level1SuiteId})`);
259
+
260
+ // Filter out the level 1 suite and adjust levels/parents for remaining suites
261
+ const flattenedResult = result
262
+ .filter((suite) => suite.id !== level1SuiteId) // Remove the level 1 suite
263
+ .map((suite) => {
264
+ const newSuite = new suiteData(suite.name, suite.id, suite.parent, suite.level - 1);
265
+ newSuite.url = suite.url;
266
+
267
+ // If this was a level 2 suite (child of the removed level 1 suite),
268
+ // update its parent to point to the root
269
+ if (suite.parent === level1SuiteId) {
270
+ console.log(`[flattenHierarchyByOneLevel] Updating parent of ${suite.name} from ${level1SuiteId} to ${rootId}`);
271
+ newSuite.parent = rootId;
272
+ }
273
+
274
+ console.log(`[flattenHierarchyByOneLevel] Processed suite: ${newSuite.name} (ID: ${newSuite.id}, level: ${suite.level} -> ${newSuite.level}, parent: ${suite.parent} -> ${newSuite.parent})`);
275
+ return newSuite;
276
+ });
277
+
278
+ console.log(`[flattenHierarchyByOneLevel] Flattening complete. Result:`, flattenedResult.map(s => `${s.name} (ID: ${s.id}, level: ${s.level}, parent: ${s.parent})`));
279
+ return flattenedResult;
280
+ }
281
+
101
282
  public static levelList: Array<Workitem> = new Array<Workitem>();
283
+
102
284
  public static LevelBuilder(results: Query, foundId: string): Array<Workitem> {
285
+ // Reset the level list for each call
286
+ this.levelList = [];
287
+
288
+ // Build the hierarchy starting from level 0
289
+ this.buildWorkItemHierarchy(results, foundId, 0);
290
+
291
+ return this.levelList;
292
+ }
293
+
294
+ private static buildWorkItemHierarchy(results: Query, foundId: string, currentLevel: number): void {
103
295
  for (let i = 0; i < results.workItems.length; i++) {
104
- if (results.workItems[i].Source == 0) {
105
- results.workItems[i].level = 0;
106
- if (!this.levelList.includes(results.workItems[i]))
107
- this.levelList.push(results.workItems[i]);
108
- } else if (results.workItems[i].Source.toString() == foundId) {
109
- results.workItems[i].level = this.level++;
110
- this.levelList.push(results.workItems[i]);
111
-
112
- this.LevelBuilder(results, results.workItems[i].fields[0].value);
113
- this.level--;
296
+ const workItem = results.workItems[i];
297
+
298
+ if (workItem.Source == 0) {
299
+ workItem.level = 0;
300
+ if (!this.levelList.includes(workItem)) {
301
+ this.levelList.push(workItem);
302
+ }
303
+ } else if (workItem.Source.toString() == foundId) {
304
+ workItem.level = currentLevel;
305
+ this.levelList.push(workItem);
306
+
307
+ // Recursively build hierarchy for children
308
+ this.buildWorkItemHierarchy(results, workItem.fields[0].value, currentLevel + 1);
114
309
  }
115
310
  }
116
-
117
- return this.levelList;
118
311
  }
119
312
  }
@@ -80,23 +80,58 @@ export default class TestDataProvider {
80
80
  return await this.fetchWithCache(url);
81
81
  }
82
82
 
83
- async GetTestSuitesByPlan(project: string, planId: string, recursive: boolean): Promise<any> {
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(project: string, planId: string, suiteId: string, recursive: boolean): Promise<any> {
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
- Helper.suitList = [];
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
- testSuites.testSuites,
129
+ filteredSuites,
96
130
  suiteId,
97
- recursive
131
+ recursive,
132
+ flatTreeByOneLevel
98
133
  );
99
- Helper.first = true;
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
- let suitesTestCasesList: Array<suiteData> = await this.GetTestSuiteById(
120
- project,
121
- planId,
122
- suiteId,
123
- recursive
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