@elisra-devops/docgen-data-provider 1.134.0 → 1.136.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 +1 @@
1
- {"version":3,"file":"ticketsDataProvider.traceColumns.test.js","sourceRoot":"","sources":["../../../src/tests/modules/ticketsDataProvider.traceColumns.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ticketsDataProvider.traceColumns.test.js","sourceRoot":"","sources":["../../../src/tests/modules/ticketsDataProvider.traceColumns.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.134.0",
3
+ "version": "1.136.0",
4
4
  "description": "A document generator data provider, aimed to retrive data from azure devops",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1673,6 +1673,20 @@ export default class TicketsDataProvider {
1673
1673
  return await this.GetQueryResultsByWiqlHref(wiql.href, project);
1674
1674
  }
1675
1675
 
1676
+ async GetQueryDefinitionById(
1677
+ queryId: string,
1678
+ project: string,
1679
+ ): Promise<{ id: string; name: string; columns: any[]; wiql: any }> {
1680
+ const url = `${this.orgUrl}${project}/_apis/wit/queries/${encodeURIComponent(queryId)}?$expand=all`;
1681
+ const def: any = await TFSServices.getItemContent(url, this.token);
1682
+ return {
1683
+ id: def?.id ?? queryId,
1684
+ name: def?.name ?? '',
1685
+ columns: def?.columns ?? [],
1686
+ wiql: def?._links?.wiql ?? null,
1687
+ };
1688
+ }
1689
+
1676
1690
  private normalizeHistoricalAsOf(value: string): string {
1677
1691
  const raw = String(value || '').trim();
1678
1692
  if (!raw) {
@@ -2127,10 +2141,14 @@ export default class TicketsDataProvider {
2127
2141
  };
2128
2142
  }
2129
2143
 
2130
- private collectHistoricalQueries(root: any, parentPath = ''): HistoricalQueryListItem[] {
2131
- const items: HistoricalQueryListItem[] = [];
2144
+ private async collectHistoricalQueries(
2145
+ root: any,
2146
+ parentPath = '',
2147
+ acc: HistoricalQueryListItem[] = [],
2148
+ visited = new Set<string>(),
2149
+ ): Promise<HistoricalQueryListItem[]> {
2132
2150
  if (!root) {
2133
- return items;
2151
+ return acc;
2134
2152
  }
2135
2153
 
2136
2154
  const name = String(root?.name || '').trim();
@@ -2139,20 +2157,38 @@ export default class TicketsDataProvider {
2139
2157
  if (!root?.isFolder) {
2140
2158
  const id = String(root?.id || '').trim();
2141
2159
  if (id) {
2142
- items.push({
2160
+ acc.push({
2143
2161
  id,
2144
2162
  queryName: name || id,
2145
2163
  path: parentPath || 'Shared Queries',
2146
2164
  });
2147
2165
  }
2148
- return items;
2166
+ return acc;
2149
2167
  }
2150
2168
 
2151
- const children = Array.isArray(root?.children) ? root.children : [];
2152
- for (const child of children) {
2153
- items.push(...this.collectHistoricalQueries(child, currentPath || 'Shared Queries'));
2169
+ const folderId = String(root?.id || '').trim();
2170
+ if (folderId && visited.has(folderId)) {
2171
+ return acc;
2154
2172
  }
2155
- return items;
2173
+ if (folderId) {
2174
+ visited.add(folderId);
2175
+ }
2176
+
2177
+ try {
2178
+ await this.ensureQueryChildren(root);
2179
+ } catch (err: any) {
2180
+ logger.warn(
2181
+ `collectHistoricalQueries: failed to expand folder "${name}" (id=${folderId}): ${err.message}`,
2182
+ );
2183
+ return acc;
2184
+ }
2185
+ const children = Array.isArray(root?.children) ? root.children : [];
2186
+ await Promise.all(
2187
+ children.map((child: any) =>
2188
+ this.collectHistoricalQueries(child, currentPath || 'Shared Queries', acc, visited),
2189
+ ),
2190
+ );
2191
+ return acc;
2156
2192
  }
2157
2193
 
2158
2194
  /**
@@ -2173,7 +2209,7 @@ export default class TicketsDataProvider {
2173
2209
  },
2174
2210
  );
2175
2211
  const normalizedRoot = this.normalizeHistoricalQueryRoot(root);
2176
- const items = this.collectHistoricalQueries(normalizedRoot).filter((query) => query.id !== '');
2212
+ const items = (await this.collectHistoricalQueries(normalizedRoot)).filter((query) => query.id !== '');
2177
2213
  items.sort((a, b) => {
2178
2214
  const byPath = a.path.localeCompare(b.path);
2179
2215
  if (byPath !== 0) return byPath;
@@ -3491,25 +3527,13 @@ export default class TicketsDataProvider {
3491
3527
  reqTestWiqlHref: string | undefined,
3492
3528
  testReqWiqlHref: string | undefined,
3493
3529
  project: string,
3494
- ): Promise<{ Requirement: any[]; 'Test Case': any[] }> {
3530
+ ): Promise<{ 'req-test'?: { Requirement: any[]; 'Test Case': any[] }; 'test-req'?: { Requirement: any[]; 'Test Case': any[] } }> {
3495
3531
  const normalizeCols = (columns: any[]): any[] =>
3496
3532
  (columns || []).map((c: any) => ({
3497
3533
  referenceName: c.referenceName,
3498
3534
  name: c.name,
3499
3535
  }));
3500
3536
 
3501
- const mergeCols = (a: any[], b: any[]): any[] => {
3502
- const seen = new Set<string>();
3503
- const result: any[] = [];
3504
- for (const col of [...a, ...b]) {
3505
- if (!seen.has(col.referenceName)) {
3506
- seen.add(col.referenceName);
3507
- result.push(col);
3508
- }
3509
- }
3510
- return result;
3511
- };
3512
-
3513
3537
  // Sample one work item to read its System.WorkItemType.
3514
3538
  // In OneHop query relations: !relation.source means root (target = source WI);
3515
3539
  // relation.source present means link (target = target WI).
@@ -3539,68 +3563,69 @@ export default class TicketsDataProvider {
3539
3563
  return new Set<string>((fields as any[]).map((f: any) => f.referenceName));
3540
3564
  };
3541
3565
 
3542
- try {
3543
- // Step 1: fetch declared columns from provided query hrefs
3544
- let reqTestCols: any[] = [];
3545
- let testReqCols: any[] = [];
3546
- let reqTestRelations: any[] = [];
3547
- let testReqRelations: any[] = [];
3548
-
3549
- if (reqTestWiqlHref) {
3550
- const qr: any = await TFSServices.getItemContent(reqTestWiqlHref, this.token);
3551
- reqTestCols = normalizeCols(qr?.columns || []);
3552
- reqTestRelations = qr?.workItemRelations || [];
3553
- }
3554
- if (testReqWiqlHref) {
3555
- const qr: any = await TFSServices.getItemContent(testReqWiqlHref, this.token);
3556
- testReqCols = normalizeCols(qr?.columns || []);
3557
- testReqRelations = qr?.workItemRelations || [];
3558
- }
3559
-
3560
- const declaredCols = mergeCols(reqTestCols, testReqCols);
3561
- if (declaredCols.length === 0) {
3562
- return { Requirement: [], 'Test Case': [] };
3566
+ // Resolve per-side columns for one query independently.
3567
+ // srcIsReq: true = source WI is Requirement (req-test query), false = source WI is Test Case (test-req query).
3568
+ const resolveQuerySides = async (
3569
+ cols: any[],
3570
+ relations: any[],
3571
+ srcIsReq: boolean,
3572
+ ): Promise<{ Requirement: any[]; 'Test Case': any[] }> => {
3573
+ if (cols.length === 0) return { Requirement: [], 'Test Case': [] };
3574
+ if (relations.length === 0) {
3575
+ // No items to sample — degrade to declared columns on both sides
3576
+ return { Requirement: cols, 'Test Case': cols };
3577
+ }
3578
+ const [srcType, tgtType] = await Promise.all([
3579
+ sampleWitType(relations, true),
3580
+ sampleWitType(relations, false),
3581
+ ]);
3582
+ const reqType = srcIsReq ? srcType : tgtType;
3583
+ const tcType = srcIsReq ? tgtType : srcType;
3584
+ if (!reqType || !tcType) {
3585
+ logger.warn('GetTraceColumnsByType: could not determine WIT type names — returning declared columns for both sides');
3586
+ return { Requirement: cols, 'Test Case': cols };
3563
3587
  }
3588
+ const [reqFieldSet, tcFieldSet] = await Promise.all([
3589
+ fetchTypeFieldSet(reqType),
3590
+ fetchTypeFieldSet(tcType),
3591
+ ]);
3592
+ return {
3593
+ Requirement: cols.filter((c) => reqFieldSet.has(c.referenceName)),
3594
+ 'Test Case': cols.filter((c) => tcFieldSet.has(c.referenceName)),
3595
+ };
3596
+ };
3564
3597
 
3565
- // Step 2: sample WIT type names
3566
- // reqTest: source = Requirement, target = Test Case
3567
- // testReq: source = Test Case, target = Requirement
3568
- let reqTypeName: string | undefined;
3569
- let tcTypeName: string | undefined;
3598
+ try {
3599
+ const result: { 'req-test'?: { Requirement: any[]; 'Test Case': any[] }; 'test-req'?: { Requirement: any[]; 'Test Case': any[] } } = {};
3570
3600
 
3571
- if (reqTestRelations.length > 0) {
3572
- [reqTypeName, tcTypeName] = await Promise.all([
3573
- sampleWitType(reqTestRelations, true),
3574
- sampleWitType(reqTestRelations, false),
3575
- ]);
3576
- }
3577
- if ((!reqTypeName || !tcTypeName) && testReqRelations.length > 0) {
3578
- const [tSrc, tTgt] = await Promise.all([
3579
- sampleWitType(testReqRelations, true),
3580
- sampleWitType(testReqRelations, false),
3581
- ]);
3582
- if (!tcTypeName) tcTypeName = tSrc;
3583
- if (!reqTypeName) reqTypeName = tTgt;
3601
+ if (reqTestWiqlHref) {
3602
+ try {
3603
+ const qr: any = await TFSServices.getItemContent(reqTestWiqlHref, this.token);
3604
+ const cols = normalizeCols(qr?.columns || []);
3605
+ const relations = qr?.workItemRelations || [];
3606
+ result['req-test'] = await resolveQuerySides(cols, relations, true);
3607
+ } catch (err: any) {
3608
+ logger.error(`GetTraceColumnsByType[req-test] failed: ${err.message}`);
3609
+ result['req-test'] = { Requirement: [], 'Test Case': [] };
3610
+ }
3584
3611
  }
3585
3612
 
3586
- if (!reqTypeName || !tcTypeName) {
3587
- logger.warn('GetTraceColumnsByType: could not determine WIT type names — returning merged columns');
3588
- return { Requirement: declaredCols, 'Test Case': declaredCols };
3613
+ if (testReqWiqlHref) {
3614
+ try {
3615
+ const qr: any = await TFSServices.getItemContent(testReqWiqlHref, this.token);
3616
+ const cols = normalizeCols(qr?.columns || []);
3617
+ const relations = qr?.workItemRelations || [];
3618
+ result['test-req'] = await resolveQuerySides(cols, relations, false);
3619
+ } catch (err: any) {
3620
+ logger.error(`GetTraceColumnsByType[test-req] failed: ${err.message}`);
3621
+ result['test-req'] = { Requirement: [], 'Test Case': [] };
3622
+ }
3589
3623
  }
3590
3624
 
3591
- // Step 3: fetch WIT field schemas and intersect with declared columns
3592
- const [reqFieldSet, tcFieldSet] = await Promise.all([
3593
- fetchTypeFieldSet(reqTypeName),
3594
- fetchTypeFieldSet(tcTypeName),
3595
- ]);
3596
-
3597
- return {
3598
- Requirement: declaredCols.filter((c) => reqFieldSet.has(c.referenceName)),
3599
- 'Test Case': declaredCols.filter((c) => tcFieldSet.has(c.referenceName)),
3600
- };
3625
+ return result;
3601
3626
  } catch (err: any) {
3602
3627
  logger.error(`GetTraceColumnsByType failed: ${err.message}`);
3603
- return { Requirement: [], 'Test Case': [] };
3628
+ return {};
3604
3629
  }
3605
3630
  }
3606
3631
  }
@@ -87,8 +87,8 @@ describe('TicketsDataProvider.GetTraceColumnsByType', () => {
87
87
  'my-project',
88
88
  );
89
89
 
90
- const reqRefs = result.Requirement.map((c: any) => c.referenceName);
91
- const tcRefs = result['Test Case'].map((c: any) => c.referenceName);
90
+ const reqRefs = result['req-test']!.Requirement.map((c: any) => c.referenceName);
91
+ const tcRefs = result['req-test']!['Test Case'].map((c: any) => c.referenceName);
92
92
 
93
93
  expect(reqRefs).toContain('Custom.CustomerRequirementId');
94
94
  expect(tcRefs).not.toContain('Custom.CustomerRequirementId');
@@ -96,19 +96,27 @@ describe('TicketsDataProvider.GetTraceColumnsByType', () => {
96
96
  expect(tcRefs).toContain('Microsoft.VSTS.Common.Priority');
97
97
  });
98
98
 
99
- it('merges columns from both queries (reqTest + testReq), deduped', async () => {
99
+ it('resolves each query independently: req-test and test-req have separate column sets', async () => {
100
100
  const reqRelations = [rootRelation(1, 'https://ado/wi/1'), linkRelation(1, 101, 'https://ado/wi/101')];
101
101
  const testRelations = [rootRelation(101, 'https://ado/wi/101'), linkRelation(101, 1, 'https://ado/wi/1')];
102
102
 
103
103
  const extraCol = { referenceName: 'System.AreaPath', name: 'Area Path' };
104
+ const tcSchemaWithAreaPath = { value: [...TC_FIELDS_SCHEMA.value, { referenceName: 'System.AreaPath' }] };
104
105
 
105
106
  mockGetItemContent
107
+ // req-test query processing
106
108
  .mockResolvedValueOnce(makeQueryResult(REQ_COLS, reqRelations)) // reqTest wiql
109
+ .mockResolvedValueOnce({ fields: { 'System.WorkItemType': 'Requirement' } }) // source sample
110
+ .mockResolvedValueOnce({ fields: { 'System.WorkItemType': 'Test Case' } }) // target sample
111
+ .mockResolvedValueOnce(REQ_FIELDS_SCHEMA) // Req schema
112
+ .mockResolvedValueOnce(tcSchemaWithAreaPath) // TC schema
113
+ // test-req query processing (srcIsReq=false: source=TC, target=Req)
107
114
  .mockResolvedValueOnce(makeQueryResult([...TC_COLS, extraCol], testRelations)) // testReq wiql
108
- .mockResolvedValueOnce({ fields: { 'System.WorkItemType': 'Requirement' } }) // source sample reqTest
109
- .mockResolvedValueOnce({ fields: { 'System.WorkItemType': 'Test Case' } }) // target sample reqTest
110
- .mockResolvedValueOnce(REQ_FIELDS_SCHEMA)
111
- .mockResolvedValueOnce({ value: [...TC_FIELDS_SCHEMA.value, { referenceName: 'System.AreaPath' }] });
115
+ .mockResolvedValueOnce({ fields: { 'System.WorkItemType': 'Test Case' } }) // source sample (TC)
116
+ .mockResolvedValueOnce({ fields: { 'System.WorkItemType': 'Requirement' } }) // target sample (Req)
117
+ // Promise.all([fetchTypeFieldSet(reqType), fetchTypeFieldSet(tcType)]): reqType=Requirement first
118
+ .mockResolvedValueOnce(REQ_FIELDS_SCHEMA) // Req schema (first in Promise.all)
119
+ .mockResolvedValueOnce(tcSchemaWithAreaPath); // TC schema (second in Promise.all)
112
120
 
113
121
  const result = await provider.GetTraceColumnsByType(
114
122
  'https://ado/wiql/reqtest',
@@ -116,8 +124,12 @@ describe('TicketsDataProvider.GetTraceColumnsByType', () => {
116
124
  'my-project',
117
125
  );
118
126
 
119
- const tcRefs = result['Test Case'].map((c: any) => c.referenceName);
120
- expect(tcRefs).toContain('System.AreaPath'); // came only from testReq columns
127
+ // req-test: columns from REQ_COLS only — no extraCol
128
+ const reqTestTcRefs = result['req-test']!['Test Case'].map((c: any) => c.referenceName);
129
+ expect(reqTestTcRefs).not.toContain('System.AreaPath');
130
+ // test-req: columns from TC_COLS+extraCol — System.AreaPath present
131
+ const testReqTcRefs = result['test-req']!['Test Case'].map((c: any) => c.referenceName);
132
+ expect(testReqTcRefs).toContain('System.AreaPath');
121
133
  });
122
134
 
123
135
  it('raw display names passed through without rename (no CustomerRequirementId → Customer ID)', async () => {
@@ -132,7 +144,7 @@ describe('TicketsDataProvider.GetTraceColumnsByType', () => {
132
144
 
133
145
  const result = await provider.GetTraceColumnsByType('https://ado/wiql/reqtest', undefined, 'proj');
134
146
 
135
- const custCol = result.Requirement.find((c: any) => c.referenceName === 'Custom.CustomerRequirementId');
147
+ const custCol = result['req-test']!.Requirement.find((c: any) => c.referenceName === 'Custom.CustomerRequirementId');
136
148
  expect(custCol?.name).toBe('CustomerRequirementId'); // raw ADO name, NOT 'Customer ID'
137
149
  });
138
150
 
@@ -143,9 +155,9 @@ describe('TicketsDataProvider.GetTraceColumnsByType', () => {
143
155
 
144
156
  const result = await provider.GetTraceColumnsByType('https://ado/wiql/reqtest', undefined, 'proj');
145
157
 
146
- const reqRefs = result.Requirement.map((c: any) => c.referenceName);
147
- const tcRefs = result['Test Case'].map((c: any) => c.referenceName);
148
- // Both sides get the merged declared columns as fallback
158
+ const reqRefs = result['req-test']!.Requirement.map((c: any) => c.referenceName);
159
+ const tcRefs = result['req-test']!['Test Case'].map((c: any) => c.referenceName);
160
+ // Both sides get this query's declared columns as fallback (no sampling possible)
149
161
  expect(reqRefs).toContain('Custom.CustomerRequirementId');
150
162
  expect(tcRefs).toContain('Custom.CustomerRequirementId');
151
163
  });
@@ -155,7 +167,7 @@ describe('TicketsDataProvider.GetTraceColumnsByType', () => {
155
167
 
156
168
  const result = await provider.GetTraceColumnsByType('https://ado/wiql/reqtest', undefined, 'proj');
157
169
 
158
- expect(result).toEqual({ Requirement: [], 'Test Case': [] });
170
+ expect(result).toEqual({ 'req-test': { Requirement: [], 'Test Case': [] } });
159
171
  expect((logger.error as jest.Mock)).toHaveBeenCalled();
160
172
  });
161
173
 
@@ -170,7 +182,7 @@ describe('TicketsDataProvider.GetTraceColumnsByType', () => {
170
182
 
171
183
  const result = await provider.GetTraceColumnsByType('https://ado/wiql/reqtest', undefined, 'proj');
172
184
 
173
- expect(result).toEqual({ Requirement: [], 'Test Case': [] });
185
+ expect(result).toEqual({ 'req-test': { Requirement: [], 'Test Case': [] } });
174
186
  });
175
187
 
176
188
  it('handles undefined schema value gracefully (no crash on null response)', async () => {
@@ -186,7 +198,7 @@ describe('TicketsDataProvider.GetTraceColumnsByType', () => {
186
198
  const result = await provider.GetTraceColumnsByType('https://ado/wiql/reqtest', undefined, 'proj');
187
199
 
188
200
  // Both field sets are empty → both sides empty after intersection
189
- expect(result.Requirement).toEqual([]);
190
- expect(result['Test Case']).toEqual([]);
201
+ expect(result['req-test']!.Requirement).toEqual([]);
202
+ expect(result['req-test']!['Test Case']).toEqual([]);
191
203
  });
192
204
  });