@elisra-devops/docgen-data-provider 1.47.0 → 1.48.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.
@@ -27,6 +27,9 @@ 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 suitList: Array<suiteData>;
30
33
  /**
31
34
  * Finds test suites recursively starting from a given suite ID
32
35
  * @param planId - The test plan ID
@@ -38,15 +41,7 @@ export declare class Helper {
38
41
  * @param flatSuiteTestCases - If true and there's only one level 1 suite with children, flatten the hierarchy by one level
39
42
  * @returns Array of suiteData objects representing the hierarchy
40
43
  */
41
- static findSuitesRecursive(planId: string, url: string, project: string, suits: any[], foundId: string, recursive: 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;
44
+ static findSuitesRecursive(planId: string, url: string, project: string, suits: any[], foundId: string, recursive: boolean, isTopLevel?: boolean): Array<suiteData>;
50
45
  static levelList: Array<Workitem>;
51
46
  static LevelBuilder(results: Query, foundId: string): Array<Workitem>;
52
47
  private static buildWorkItemHierarchy;
@@ -34,67 +34,55 @@ class Helper {
34
34
  * @param flatSuiteTestCases - If true and there's only one level 1 suite with children, flatten the hierarchy by one level
35
35
  * @returns Array of suiteData objects representing the hierarchy
36
36
  */
37
- static findSuitesRecursive(planId, url, project, suits, foundId, recursive) {
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;
37
+ static findSuitesRecursive(planId, url, project, suits, foundId, recursive, isTopLevel = true) {
38
+ // Only reset static state on the top-level call
39
+ if (isTopLevel) {
40
+ this.suitList = new Array();
41
+ this.level = 0; // Start at 0 so top-level suites get level 1
42
+ this.first = true;
47
43
  }
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
- const startingLevel = startingSuite.parentSuiteId === 0 ? 1 : 0;
55
- this.buildSuiteHierarchy(suiteMap, foundId, planId, url, project, result, visited, startingLevel, recursive);
56
- return result;
57
- }
58
- /**
59
- * Recursively builds the suite hierarchy
60
- */
61
- static buildSuiteHierarchy(suiteMap, parentId, planId, url, project, result, visited, currentLevel, recursive) {
62
- // Find all direct children of the current parent
63
- const children = Array.from(suiteMap.values()).filter((suite) => suite.parentSuiteId.toString() === parentId && !visited.has(suite.id.toString()));
64
- for (const child of children) {
65
- const childId = child.id.toString();
66
- if (visited.has(childId)) {
67
- continue; // Skip if already processed
68
- }
69
- // Create suite data for this child
70
- const childSuiteData = this.createSuiteData(child, planId, url, project, currentLevel);
71
- result.push(childSuiteData);
72
- visited.add(childId);
73
- // If recursive is false, only get direct children
74
- if (!recursive && currentLevel > 0) {
75
- continue;
44
+ for (let i = 0; i < suits.length; i++) {
45
+ if (suits[i].parentSuiteId != 0) {
46
+ // Child suites (parentSuiteId != 0)
47
+ if (suits[i].parentSuiteId == foundId) {
48
+ // Found children of the selected suite - add them to results
49
+ let suit = new suiteData(suits[i].title, suits[i].id, foundId, this.level + 2);
50
+ suit.url =
51
+ url + project + '/_testManagement?planId=' + planId + '&suiteId=' + suits[i].id + '&_a=tests';
52
+ this.suitList.push(suit);
53
+ if (recursive == false) {
54
+ return this.suitList;
55
+ }
56
+ this.level++; // Increment level before recursive call
57
+ this.findSuitesRecursive(planId, url, project, suits, suits[i].id, true, false);
58
+ this.level--; // Decrement level after recursive call
59
+ }
60
+ else if (suits[i].id == foundId && this.first) {
61
+ // Found the selected nested suite itself - add it to results
62
+ let suit = new suiteData(suits[i].title, suits[i].id, suits[i].parentSuiteId, this.level + 1);
63
+ suit.url =
64
+ url + project + '/_testManagement?planId=' + planId + '&suiteId=' + suits[i].id + '&_a=tests';
65
+ this.suitList.push(suit);
66
+ this.first = false;
67
+ if (recursive == false) {
68
+ return this.suitList;
69
+ }
70
+ }
76
71
  }
77
- // Recursively process children of this suite
78
- if (recursive) {
79
- this.buildSuiteHierarchy(suiteMap, childId, planId, url, project, result, visited, currentLevel + 1, recursive);
72
+ else {
73
+ // Root suites (parentSuiteId = 0) - these do NOT get added to results
74
+ if (suits[i].id == foundId && Helper.first) {
75
+ console.log(`[findSuitesRecursive] DEBUG: Found root suite - NOT adding to results, just marking as processed: ${suits[i].title}`);
76
+ let suit = new suiteData(suits[i].title, suits[i].id, foundId, this.level);
77
+ suit.url = url + project + '/_workitems/edit/' + suits[i].id;
78
+ Helper.first = false;
79
+ if (recursive == false) {
80
+ return this.suitList;
81
+ }
82
+ }
80
83
  }
81
84
  }
82
- }
83
- /**
84
- * Creates a suiteData object from a suite
85
- */
86
- static createSuiteData(suiteInfo, planId, url, project, level) {
87
- const suite = new suiteData(suiteInfo.title, suiteInfo.id.toString(), suiteInfo.parentSuiteId.toString(), level);
88
- // Generate appropriate URL based on suite type
89
- if (suiteInfo.parentSuiteId === 0) {
90
- // Root suite - link to work item
91
- suite.url = `${url}/${project}/_workitems/edit/${suiteInfo.id}`;
92
- }
93
- else {
94
- // Child suite - link to test management
95
- suite.url = `${url}/${project}/_testManagement?planId=${planId}&suiteId=${suiteInfo.id}&_a=tests`;
96
- }
97
- return suite;
85
+ return this.suitList;
98
86
  }
99
87
  static LevelBuilder(results, foundId) {
100
88
  // Reset the level list for each call
@@ -122,5 +110,8 @@ class Helper {
122
110
  }
123
111
  }
124
112
  exports.Helper = Helper;
113
+ Helper.level = 1;
114
+ Helper.first = true;
115
+ Helper.suitList = new Array();
125
116
  Helper.levelList = new Array();
126
117
  //# 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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"}
@@ -77,24 +77,69 @@ class TestDataProvider {
77
77
  }
78
78
  async GetTestSuitesByPlan(project, planId, recursive, suiteIdsFilter // NEW: Pass through suite filter
79
79
  ) {
80
- let suiteId = Number(planId) + 1;
81
- return this.GetTestSuiteById(project, planId, suiteId.toString(), recursive, suiteIdsFilter);
80
+ let suiteId;
81
+ if (suiteIdsFilter && suiteIdsFilter.length > 0) {
82
+ // When we have suite filtering, we need to find the "root" suite among the filtered suites
83
+ // This is the suite that is highest in the hierarchy (i.e., its parent is not in the filter)
84
+ // First get all suites to analyze the hierarchy
85
+ let allTestSuites = await this.GetTestSuitesForPlan(project, planId);
86
+ let allSuites = allTestSuites.testSuites;
87
+ // Create a map for quick lookup
88
+ const suiteMap = new Map();
89
+ allSuites.forEach((suite) => suiteMap.set(suite.id, suite));
90
+ // Find ALL top-level suites in the filter (those whose parent is not in the filter)
91
+ // These represent separate hierarchies that need to be processed independently
92
+ const topLevelSuites = [];
93
+ for (const filterSuiteId of suiteIdsFilter) {
94
+ const suite = suiteMap.get(filterSuiteId) || suiteMap.get(parseInt(filterSuiteId.toString()));
95
+ if (suite) {
96
+ // Check if this suite's parent is NOT in our filter (making it a top-level suite for our selection)
97
+ const parentInFilter = suiteIdsFilter.some(id => id.toString() === suite.parentSuiteId.toString() ||
98
+ parseInt(id.toString()) === suite.parentSuiteId);
99
+ if (!parentInFilter && suite.parentSuiteId !== 0) {
100
+ topLevelSuites.push(filterSuiteId.toString());
101
+ }
102
+ }
103
+ }
104
+ if (topLevelSuites.length === 0) {
105
+ // Fallback: use first suite if no clear top-level suites found
106
+ const selectedSuiteId = suiteIdsFilter[0].toString();
107
+ return this.GetTestSuiteById(project, planId, selectedSuiteId, recursive, suiteIdsFilter);
108
+ }
109
+ else if (topLevelSuites.length === 1) {
110
+ // Single hierarchy: use existing logic
111
+ const selectedSuiteId = topLevelSuites[0];
112
+ return this.GetTestSuiteById(project, planId, selectedSuiteId, recursive, suiteIdsFilter);
113
+ }
114
+ else {
115
+ // Multiple hierarchies: process each separately and combine results
116
+ const allSuites = [];
117
+ for (const topLevelSuiteId of topLevelSuites) {
118
+ const hierarchySuites = await this.GetTestSuiteById(project, planId, topLevelSuiteId, recursive, suiteIdsFilter);
119
+ allSuites.push(...hierarchySuites);
120
+ }
121
+ return allSuites;
122
+ }
123
+ }
124
+ else {
125
+ suiteId = (Number(planId) + 1).toString();
126
+ }
127
+ return this.GetTestSuiteById(project, planId, suiteId, recursive, suiteIdsFilter);
82
128
  }
83
129
  async GetTestSuiteById(project, planId, suiteId, recursive, suiteIdsFilter) {
84
130
  let testSuites = await this.GetTestSuitesForPlan(project, planId);
85
- // Start with all suites
86
131
  let filteredSuites = testSuites.testSuites;
87
- // Filter by specific suite IDs if provided (e.g., testSuiteArray: [30,32,33,34,31])
132
+ // Apply suite filtering if provided
88
133
  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) => {
134
+ const filterAsStrings = suiteIdsFilter.map(id => id.toString());
135
+ filteredSuites = testSuites.testSuites.filter((suite) => {
92
136
  const suiteIdString = suite.id.toString();
93
- // Always include the starting suite (needed for findSuitesRecursive to work)
137
+ // Check if suite ID matches the starting suite
94
138
  const isStartingSuite = suiteIdString === suiteId;
95
139
  // Check if suite ID is in the target filter list
96
140
  const isTargetSuite = filterAsStrings.includes(suiteIdString);
97
- return isStartingSuite || isTargetSuite;
141
+ const shouldInclude = isStartingSuite || isTargetSuite;
142
+ return shouldInclude;
98
143
  });
99
144
  }
100
145
  let dataSuites = helper_1.Helper.findSuitesRecursive(planId, this.orgUrl, project, filteredSuites, suiteId, recursive);
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elisra-devops/docgen-data-provider",
3
- "version": "1.47.0",
3
+ "version": "1.48.0",
4
4
  "description": "A document generator data provider, aimed to retrive data from azure devops",
5
5
  "repository": {
6
6
  "type": "git",
@@ -35,6 +35,10 @@ export class Trace {
35
35
  }
36
36
 
37
37
  export class Helper {
38
+ static level: number = 1;
39
+ static first: boolean = true;
40
+ public static suitList: Array<suiteData> = new Array<suiteData>();
41
+
38
42
  /**
39
43
  * Finds test suites recursively starting from a given suite ID
40
44
  * @param planId - The test plan ID
@@ -52,126 +56,70 @@ export class Helper {
52
56
  project: string,
53
57
  suits: any[],
54
58
  foundId: string,
55
- recursive: boolean
59
+ recursive: boolean,
60
+ isTopLevel: boolean = true
56
61
  ): Array<suiteData> {
57
- // Create a map for faster lookups
58
- const suiteMap = new Map<string, any>();
59
- suits.forEach((suite) => suiteMap.set(suite.id.toString(), suite));
60
-
61
- const result: Array<suiteData> = [];
62
- const visited = new Set<string>();
63
-
64
- // Find the starting suite
65
- const startingSuite = suiteMap.get(foundId);
66
- if (!startingSuite) {
67
- return result;
68
- }
69
62
 
70
- // Skip root suites (parentSuiteId = 0) - we don't want them in results
71
- // Just mark them as visited so we can process their children
72
- if (startingSuite.parentSuiteId === 0) {
73
- visited.add(foundId);
63
+
64
+ // Only reset static state on the top-level call
65
+ if (isTopLevel) {
66
+ this.suitList = new Array<suiteData>();
67
+ this.level = 0; // Start at 0 so top-level suites get level 1
68
+ this.first = true;
74
69
  }
75
70
 
76
- // Build the hierarchy
77
- const startingLevel = startingSuite.parentSuiteId === 0 ? 1 : 0;
78
-
79
- this.buildSuiteHierarchy(
80
- suiteMap,
81
- foundId,
82
- planId,
83
- url,
84
- project,
85
- result,
86
- visited,
87
- startingLevel,
88
- recursive
89
- );
90
-
91
- return result;
92
- }
93
-
94
- /**
95
- * Recursively builds the suite hierarchy
96
- */
97
- private static buildSuiteHierarchy(
98
- suiteMap: Map<string, any>,
99
- parentId: string,
100
- planId: string,
101
- url: string,
102
- project: string,
103
- result: Array<suiteData>,
104
- visited: Set<string>,
105
- currentLevel: number,
106
- recursive: boolean
107
- ): void {
108
- // Find all direct children of the current parent
109
- const children = Array.from(suiteMap.values()).filter(
110
- (suite) => suite.parentSuiteId.toString() === parentId && !visited.has(suite.id.toString())
111
- );
112
-
113
- for (const child of children) {
114
- const childId = child.id.toString();
115
-
116
- if (visited.has(childId)) {
117
- continue; // Skip if already processed
118
- }
119
-
120
- // Create suite data for this child
121
- const childSuiteData = this.createSuiteData(child, planId, url, project, currentLevel);
122
- result.push(childSuiteData);
123
- visited.add(childId);
124
-
125
- // If recursive is false, only get direct children
126
- if (!recursive && currentLevel > 0) {
127
- continue;
128
- }
129
-
130
- // Recursively process children of this suite
131
- if (recursive) {
132
- this.buildSuiteHierarchy(
133
- suiteMap,
134
- childId,
135
- planId,
136
- url,
137
- project,
138
- result,
139
- visited,
140
- currentLevel + 1,
141
- recursive
142
- );
71
+ for (let i = 0; i < suits.length; i++) {
72
+
73
+ if (suits[i].parentSuiteId != 0) {
74
+ // Child suites (parentSuiteId != 0)
75
+ if (suits[i].parentSuiteId == foundId) {
76
+
77
+ // Found children of the selected suite - add them to results
78
+ let suit: suiteData = new suiteData(suits[i].title, suits[i].id, foundId, this.level + 2);
79
+ suit.url =
80
+ url + project + '/_testManagement?planId=' + planId + '&suiteId=' + suits[i].id + '&_a=tests';
81
+ this.suitList.push(suit);
82
+ if (recursive == false) {
83
+ return this.suitList;
84
+ }
85
+ this.level++; // Increment level before recursive call
86
+ this.findSuitesRecursive(planId, url, project, suits, suits[i].id, true, false);
87
+ this.level--; // Decrement level after recursive call
88
+ } else if (suits[i].id == foundId && this.first) {
89
+
90
+ // Found the selected nested suite itself - add it to results
91
+ let suit: suiteData = new suiteData(
92
+ suits[i].title,
93
+ suits[i].id,
94
+ suits[i].parentSuiteId,
95
+ this.level + 1
96
+ );
97
+ suit.url =
98
+ url + project + '/_testManagement?planId=' + planId + '&suiteId=' + suits[i].id + '&_a=tests';
99
+ this.suitList.push(suit);
100
+ this.first = false;
101
+ if (recursive == false) {
102
+ return this.suitList;
103
+ }
104
+ }
105
+ } else {
106
+ // Root suites (parentSuiteId = 0) - these do NOT get added to results
107
+ if (suits[i].id == foundId && Helper.first) {
108
+ console.log(`[findSuitesRecursive] DEBUG: Found root suite - NOT adding to results, just marking as processed: ${suits[i].title}`);
109
+ let suit: suiteData = new suiteData(suits[i].title, suits[i].id, foundId, this.level);
110
+ suit.url = url + project + '/_workitems/edit/' + suits[i].id;
111
+ Helper.first = false;
112
+ if (recursive == false) {
113
+ return this.suitList;
114
+ }
115
+ }
143
116
  }
144
117
  }
118
+
119
+ return this.suitList;
145
120
  }
146
121
 
147
- /**
148
- * Creates a suiteData object from a suite
149
- */
150
- private static createSuiteData(
151
- suiteInfo: any,
152
- planId: string,
153
- url: string,
154
- project: string,
155
- level: number
156
- ): suiteData {
157
- const suite = new suiteData(
158
- suiteInfo.title,
159
- suiteInfo.id.toString(),
160
- suiteInfo.parentSuiteId.toString(),
161
- level
162
- );
163
-
164
- // Generate appropriate URL based on suite type
165
- if (suiteInfo.parentSuiteId === 0) {
166
- // Root suite - link to work item
167
- suite.url = `${url}/${project}/_workitems/edit/${suiteInfo.id}`;
168
- } else {
169
- // Child suite - link to test management
170
- suite.url = `${url}/${project}/_testManagement?planId=${planId}&suiteId=${suiteInfo.id}&_a=tests`;
171
- }
172
122
 
173
- return suite;
174
- }
175
123
 
176
124
  public static levelList: Array<Workitem> = new Array<Workitem>();
177
125
 
@@ -86,8 +86,80 @@ export default class TestDataProvider {
86
86
  recursive: boolean,
87
87
  suiteIdsFilter?: number[] // NEW: Pass through suite filter
88
88
  ): Promise<any> {
89
- let suiteId = Number(planId) + 1;
90
- return this.GetTestSuiteById(project, planId, suiteId.toString(), recursive, suiteIdsFilter);
89
+ let suiteId: string;
90
+
91
+ if (suiteIdsFilter && suiteIdsFilter.length > 0) {
92
+ // When we have suite filtering, we need to find the "root" suite among the filtered suites
93
+ // This is the suite that is highest in the hierarchy (i.e., its parent is not in the filter)
94
+
95
+
96
+
97
+ // First get all suites to analyze the hierarchy
98
+ let allTestSuites = await this.GetTestSuitesForPlan(project, planId);
99
+ let allSuites = allTestSuites.testSuites;
100
+
101
+ // Create a map for quick lookup
102
+ const suiteMap = new Map();
103
+ allSuites.forEach((suite: any) => suiteMap.set(suite.id, suite));
104
+
105
+
106
+
107
+ // Find ALL top-level suites in the filter (those whose parent is not in the filter)
108
+ // These represent separate hierarchies that need to be processed independently
109
+
110
+
111
+ const topLevelSuites: string[] = [];
112
+
113
+ for (const filterSuiteId of suiteIdsFilter) {
114
+ const suite = suiteMap.get(filterSuiteId) || suiteMap.get(parseInt(filterSuiteId.toString()));
115
+ if (suite) {
116
+
117
+
118
+ // Check if this suite's parent is NOT in our filter (making it a top-level suite for our selection)
119
+ const parentInFilter = suiteIdsFilter.some(id =>
120
+ id.toString() === suite.parentSuiteId.toString() ||
121
+ parseInt(id.toString()) === suite.parentSuiteId
122
+ );
123
+
124
+ if (!parentInFilter && suite.parentSuiteId !== 0) {
125
+
126
+ topLevelSuites.push(filterSuiteId.toString());
127
+ }
128
+ }
129
+ }
130
+
131
+
132
+
133
+ if (topLevelSuites.length === 0) {
134
+ // Fallback: use first suite if no clear top-level suites found
135
+ const selectedSuiteId = suiteIdsFilter[0].toString();
136
+
137
+ return this.GetTestSuiteById(project, planId, selectedSuiteId, recursive, suiteIdsFilter);
138
+ } else if (topLevelSuites.length === 1) {
139
+ // Single hierarchy: use existing logic
140
+ const selectedSuiteId = topLevelSuites[0];
141
+
142
+ return this.GetTestSuiteById(project, planId, selectedSuiteId, recursive, suiteIdsFilter);
143
+ } else {
144
+ // Multiple hierarchies: process each separately and combine results
145
+
146
+ const allSuites: any[] = [];
147
+
148
+ for (const topLevelSuiteId of topLevelSuites) {
149
+
150
+ const hierarchySuites = await this.GetTestSuiteById(project, planId, topLevelSuiteId, recursive, suiteIdsFilter);
151
+
152
+ allSuites.push(...hierarchySuites);
153
+ }
154
+
155
+
156
+ return allSuites;
157
+ }
158
+ } else {
159
+ suiteId = (Number(planId) + 1).toString();
160
+ }
161
+
162
+ return this.GetTestSuiteById(project, planId, suiteId, recursive, suiteIdsFilter);
91
163
  }
92
164
 
93
165
  async GetTestSuiteById(
@@ -97,29 +169,38 @@ export default class TestDataProvider {
97
169
  recursive: boolean,
98
170
  suiteIdsFilter?: number[]
99
171
  ): Promise<any> {
100
- let testSuites = await this.GetTestSuitesForPlan(project, planId);
101
172
 
102
- // Start with all suites
173
+
174
+ let testSuites = await this.GetTestSuitesForPlan(project, planId);
103
175
  let filteredSuites = testSuites.testSuites;
176
+
177
+
104
178
 
105
- // Filter by specific suite IDs if provided (e.g., testSuiteArray: [30,32,33,34,31])
179
+ // Apply suite filtering if provided
106
180
  if (suiteIdsFilter && suiteIdsFilter.length > 0) {
107
- // Convert filter IDs to strings once for efficient comparison
108
- const filterAsStrings = suiteIdsFilter.map((id) => id.toString());
181
+ const filterAsStrings = suiteIdsFilter.map(id => id.toString());
109
182
 
110
- filteredSuites = filteredSuites.filter((suite: any) => {
183
+
184
+ filteredSuites = testSuites.testSuites.filter((suite: any) => {
111
185
  const suiteIdString = suite.id.toString();
112
-
113
- // Always include the starting suite (needed for findSuitesRecursive to work)
186
+
187
+ // Check if suite ID matches the starting suite
114
188
  const isStartingSuite = suiteIdString === suiteId;
115
-
189
+
116
190
  // Check if suite ID is in the target filter list
117
191
  const isTargetSuite = filterAsStrings.includes(suiteIdString);
192
+
193
+ const shouldInclude = isStartingSuite || isTargetSuite;
194
+
118
195
 
119
- return isStartingSuite || isTargetSuite;
196
+ return shouldInclude;
120
197
  });
198
+
199
+
121
200
  }
122
201
 
202
+
203
+
123
204
  let dataSuites: any = Helper.findSuitesRecursive(
124
205
  planId,
125
206
  this.orgUrl,