@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.
- package/bin/modules/TicketsDataProvider.d.ts +14 -2
- package/bin/modules/TicketsDataProvider.js +82 -70
- package/bin/modules/TicketsDataProvider.js.map +1 -1
- package/bin/tests/modules/ticketsDataProvider.traceColumns.test.js +29 -17
- package/bin/tests/modules/ticketsDataProvider.traceColumns.test.js.map +1 -1
- package/package.json +1 -1
- package/src/modules/TicketsDataProvider.ts +101 -76
- package/src/tests/modules/ticketsDataProvider.traceColumns.test.ts +29 -17
|
@@ -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
|
@@ -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(
|
|
2131
|
-
|
|
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
|
|
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
|
-
|
|
2160
|
+
acc.push({
|
|
2143
2161
|
id,
|
|
2144
2162
|
queryName: name || id,
|
|
2145
2163
|
path: parentPath || 'Shared Queries',
|
|
2146
2164
|
});
|
|
2147
2165
|
}
|
|
2148
|
-
return
|
|
2166
|
+
return acc;
|
|
2149
2167
|
}
|
|
2150
2168
|
|
|
2151
|
-
const
|
|
2152
|
-
|
|
2153
|
-
|
|
2169
|
+
const folderId = String(root?.id || '').trim();
|
|
2170
|
+
if (folderId && visited.has(folderId)) {
|
|
2171
|
+
return acc;
|
|
2154
2172
|
}
|
|
2155
|
-
|
|
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
|
-
|
|
3543
|
-
|
|
3544
|
-
|
|
3545
|
-
|
|
3546
|
-
|
|
3547
|
-
|
|
3548
|
-
|
|
3549
|
-
if (
|
|
3550
|
-
|
|
3551
|
-
|
|
3552
|
-
|
|
3553
|
-
}
|
|
3554
|
-
|
|
3555
|
-
|
|
3556
|
-
|
|
3557
|
-
|
|
3558
|
-
|
|
3559
|
-
|
|
3560
|
-
|
|
3561
|
-
|
|
3562
|
-
return { Requirement:
|
|
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
|
-
|
|
3566
|
-
|
|
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 (
|
|
3572
|
-
|
|
3573
|
-
|
|
3574
|
-
|
|
3575
|
-
|
|
3576
|
-
|
|
3577
|
-
|
|
3578
|
-
|
|
3579
|
-
|
|
3580
|
-
|
|
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 (
|
|
3587
|
-
|
|
3588
|
-
|
|
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
|
-
|
|
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 {
|
|
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
|
|
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('
|
|
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': '
|
|
109
|
-
.mockResolvedValueOnce({ fields: { 'System.WorkItemType': '
|
|
110
|
-
.
|
|
111
|
-
.mockResolvedValueOnce(
|
|
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
|
-
|
|
120
|
-
|
|
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
|
|
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
|
|
147
|
-
const tcRefs = result['Test Case'].map((c: any) => c.referenceName);
|
|
148
|
-
// Both sides get
|
|
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
|
|
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
|
});
|