@elisra-devops/docgen-data-provider 1.63.13 → 1.68.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/.github/workflows/ci.yml +26 -9
- package/.github/workflows/release.yml +9 -10
- package/README.md +50 -24
- package/bin/helpers/tfs.d.ts +3 -0
- package/bin/helpers/tfs.js +44 -7
- package/bin/helpers/tfs.js.map +1 -1
- package/bin/modules/GitDataProvider.d.ts +10 -0
- package/bin/modules/GitDataProvider.js +10 -0
- package/bin/modules/GitDataProvider.js.map +1 -1
- package/bin/modules/TestDataProvider.js +0 -1
- package/bin/modules/TestDataProvider.js.map +1 -1
- package/bin/modules/TicketsDataProvider.d.ts +63 -24
- package/bin/modules/TicketsDataProvider.js +216 -114
- package/bin/modules/TicketsDataProvider.js.map +1 -1
- package/bin/tests/helpers/helper.test.js +279 -0
- package/bin/tests/helpers/helper.test.js.map +1 -0
- package/bin/{helpers/test → tests/helpers}/tfs.test.js +312 -49
- package/bin/tests/helpers/tfs.test.js.map +1 -0
- package/bin/tests/index.test.js +25 -0
- package/bin/tests/index.test.js.map +1 -0
- package/bin/tests/models/tfs-data.test.js +160 -0
- package/bin/tests/models/tfs-data.test.js.map +1 -0
- package/bin/{modules/test → tests/modules}/JfrogDataProvider.test.js +9 -9
- package/bin/tests/modules/JfrogDataProvider.test.js.map +1 -0
- package/bin/tests/modules/ResultDataProvider.test.js +1942 -0
- package/bin/tests/modules/ResultDataProvider.test.js.map +1 -0
- package/bin/tests/modules/gitDataProvider.test.js +1888 -0
- package/bin/tests/modules/gitDataProvider.test.js.map +1 -0
- package/bin/{modules/test → tests/modules}/managmentDataProvider.test.js +13 -1
- package/bin/tests/modules/managmentDataProvider.test.js.map +1 -0
- package/bin/tests/modules/pipelineDataProvider.test.d.ts +1 -0
- package/bin/tests/modules/pipelineDataProvider.test.js +783 -0
- package/bin/tests/modules/pipelineDataProvider.test.js.map +1 -0
- package/bin/tests/modules/testDataProvider.test.d.ts +1 -0
- package/bin/tests/modules/testDataProvider.test.js +717 -0
- package/bin/tests/modules/testDataProvider.test.js.map +1 -0
- package/bin/tests/modules/ticketsDataProvider.test.d.ts +1 -0
- package/bin/tests/modules/ticketsDataProvider.test.js +1681 -0
- package/bin/tests/modules/ticketsDataProvider.test.js.map +1 -0
- package/bin/tests/utils/DataProviderUtils.test.d.ts +1 -0
- package/bin/tests/utils/DataProviderUtils.test.js +61 -0
- package/bin/tests/utils/DataProviderUtils.test.js.map +1 -0
- package/bin/tests/utils/testStepParserHelper.test.d.ts +1 -0
- package/bin/tests/utils/testStepParserHelper.test.js +359 -0
- package/bin/tests/utils/testStepParserHelper.test.js.map +1 -0
- package/package.json +9 -1
- package/src/helpers/tfs.ts +51 -7
- package/src/modules/GitDataProvider.ts +10 -0
- package/src/modules/TestDataProvider.ts +0 -1
- package/src/modules/TicketsDataProvider.ts +298 -141
- package/src/tests/helpers/helper.test.ts +337 -0
- package/src/tests/helpers/tfs.test.ts +1092 -0
- package/src/tests/index.test.ts +28 -0
- package/src/tests/models/tfs-data.test.ts +203 -0
- package/src/tests/modules/JfrogDataProvider.test.ts +167 -0
- package/src/tests/modules/ResultDataProvider.test.ts +2571 -0
- package/src/tests/modules/gitDataProvider.test.ts +2628 -0
- package/src/{modules/test → tests/modules}/managmentDataProvider.test.ts +33 -1
- package/src/tests/modules/pipelineDataProvider.test.ts +1038 -0
- package/src/tests/modules/testDataProvider.test.ts +1046 -0
- package/src/tests/modules/ticketsDataProvider.test.ts +2204 -0
- package/src/tests/utils/DataProviderUtils.test.ts +76 -0
- package/src/tests/utils/testStepParserHelper.test.ts +437 -0
- package/tsconfig.json +1 -0
- package/bin/helpers/test/tfs.test.js.map +0 -1
- package/bin/modules/test/JfrogDataProvider.test.js.map +0 -1
- package/bin/modules/test/ResultDataProvider.test.js +0 -444
- package/bin/modules/test/ResultDataProvider.test.js.map +0 -1
- package/bin/modules/test/gitDataProvider.test.js +0 -428
- package/bin/modules/test/gitDataProvider.test.js.map +0 -1
- package/bin/modules/test/managmentDataProvider.test.js.map +0 -1
- package/bin/modules/test/pipelineDataProvider.test.js +0 -237
- package/bin/modules/test/pipelineDataProvider.test.js.map +0 -1
- package/bin/modules/test/testDataProvider.test.js +0 -234
- package/bin/modules/test/testDataProvider.test.js.map +0 -1
- package/bin/modules/test/ticketsDataProvider.test.js +0 -348
- package/bin/modules/test/ticketsDataProvider.test.js.map +0 -1
- package/src/helpers/test/tfs.test.ts +0 -748
- package/src/modules/test/JfrogDataProvider.test.ts +0 -171
- package/src/modules/test/ResultDataProvider.test.ts +0 -542
- package/src/modules/test/gitDataProvider.test.ts +0 -645
- package/src/modules/test/pipelineDataProvider.test.ts +0 -292
- package/src/modules/test/testDataProvider.test.ts +0 -318
- package/src/modules/test/ticketsDataProvider.test.ts +0 -462
- /package/bin/{helpers/test/tfs.test.d.ts → tests/helpers/helper.test.d.ts} +0 -0
- /package/bin/{modules/test/JfrogDataProvider.test.d.ts → tests/helpers/tfs.test.d.ts} +0 -0
- /package/bin/{modules/test/ResultDataProvider.test.d.ts → tests/index.test.d.ts} +0 -0
- /package/bin/{modules/test/gitDataProvider.test.d.ts → tests/models/tfs-data.test.d.ts} +0 -0
- /package/bin/{modules/test/managmentDataProvider.test.d.ts → tests/modules/JfrogDataProvider.test.d.ts} +0 -0
- /package/bin/{modules/test/pipelineDataProvider.test.d.ts → tests/modules/ResultDataProvider.test.d.ts} +0 -0
- /package/bin/{modules/test/testDataProvider.test.d.ts → tests/modules/gitDataProvider.test.d.ts} +0 -0
- /package/bin/{modules/test/ticketsDataProvider.test.d.ts → tests/modules/managmentDataProvider.test.d.ts} +0 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import DataProviderUtils from '../../utils/DataProviderUtils';
|
|
2
|
+
|
|
3
|
+
describe('DataProviderUtils', () => {
|
|
4
|
+
describe('addToTraceMap', () => {
|
|
5
|
+
it('should add value to new key in map', () => {
|
|
6
|
+
// Arrange
|
|
7
|
+
const map = new Map<string, string[]>();
|
|
8
|
+
|
|
9
|
+
// Act
|
|
10
|
+
DataProviderUtils.addToTraceMap(map, 'key1', 'value1');
|
|
11
|
+
|
|
12
|
+
// Assert
|
|
13
|
+
expect(map.has('key1')).toBe(true);
|
|
14
|
+
expect(map.get('key1')).toEqual(['value1']);
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
it('should add value to existing key in map', () => {
|
|
18
|
+
// Arrange
|
|
19
|
+
const map = new Map<string, string[]>();
|
|
20
|
+
map.set('key1', ['value1']);
|
|
21
|
+
|
|
22
|
+
// Act
|
|
23
|
+
DataProviderUtils.addToTraceMap(map, 'key1', 'value2');
|
|
24
|
+
|
|
25
|
+
// Assert
|
|
26
|
+
expect(map.get('key1')).toEqual(['value1', 'value2']);
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
it('should handle multiple keys', () => {
|
|
30
|
+
// Arrange
|
|
31
|
+
const map = new Map<string, string[]>();
|
|
32
|
+
|
|
33
|
+
// Act
|
|
34
|
+
DataProviderUtils.addToTraceMap(map, 'key1', 'value1');
|
|
35
|
+
DataProviderUtils.addToTraceMap(map, 'key2', 'value2');
|
|
36
|
+
DataProviderUtils.addToTraceMap(map, 'key1', 'value3');
|
|
37
|
+
|
|
38
|
+
// Assert
|
|
39
|
+
expect(map.size).toBe(2);
|
|
40
|
+
expect(map.get('key1')).toEqual(['value1', 'value3']);
|
|
41
|
+
expect(map.get('key2')).toEqual(['value2']);
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
it('should handle empty string key', () => {
|
|
45
|
+
// Arrange
|
|
46
|
+
const map = new Map<string, string[]>();
|
|
47
|
+
|
|
48
|
+
// Act
|
|
49
|
+
DataProviderUtils.addToTraceMap(map, '', 'value1');
|
|
50
|
+
|
|
51
|
+
// Assert
|
|
52
|
+
expect(map.has('')).toBe(true);
|
|
53
|
+
expect(map.get('')).toEqual(['value1']);
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
it('should handle empty string value', () => {
|
|
57
|
+
// Arrange
|
|
58
|
+
const map = new Map<string, string[]>();
|
|
59
|
+
|
|
60
|
+
// Act
|
|
61
|
+
DataProviderUtils.addToTraceMap(map, 'key1', '');
|
|
62
|
+
|
|
63
|
+
// Assert
|
|
64
|
+
expect(map.get('key1')).toEqual(['']);
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
it('should not throw when key exists but stored value is undefined', () => {
|
|
68
|
+
const map = new Map<string, string[]>();
|
|
69
|
+
map.set('key1', undefined as any);
|
|
70
|
+
|
|
71
|
+
DataProviderUtils.addToTraceMap(map, 'key1', 'value1');
|
|
72
|
+
|
|
73
|
+
expect(map.get('key1')).toBeUndefined();
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
});
|
|
@@ -0,0 +1,437 @@
|
|
|
1
|
+
import { TFSServices } from '../../helpers/tfs';
|
|
2
|
+
import TestStepParserHelper from '../../utils/testStepParserHelper';
|
|
3
|
+
import logger from '../../utils/logger';
|
|
4
|
+
|
|
5
|
+
jest.mock('../../helpers/tfs');
|
|
6
|
+
jest.mock('../../utils/logger');
|
|
7
|
+
|
|
8
|
+
describe('TestStepParserHelper', () => {
|
|
9
|
+
let testStepParserHelper: TestStepParserHelper;
|
|
10
|
+
const mockOrgUrl = 'https://dev.azure.com/organization/';
|
|
11
|
+
const mockToken = 'mock-token';
|
|
12
|
+
|
|
13
|
+
beforeEach(() => {
|
|
14
|
+
jest.clearAllMocks();
|
|
15
|
+
testStepParserHelper = new TestStepParserHelper(mockOrgUrl, mockToken);
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
describe('parseTestSteps', () => {
|
|
19
|
+
it('should parse simple test steps from XML', async () => {
|
|
20
|
+
// Arrange
|
|
21
|
+
const xmlSteps = `
|
|
22
|
+
<steps>
|
|
23
|
+
<step id="1" type="ActionStep">
|
|
24
|
+
<parameterizedString isformatted="true">Step 1 Action</parameterizedString>
|
|
25
|
+
<parameterizedString isformatted="true">Step 1 Expected</parameterizedString>
|
|
26
|
+
</step>
|
|
27
|
+
<step id="2" type="ActionStep">
|
|
28
|
+
<parameterizedString isformatted="true">Step 2 Action</parameterizedString>
|
|
29
|
+
<parameterizedString isformatted="true">Step 2 Expected</parameterizedString>
|
|
30
|
+
</step>
|
|
31
|
+
</steps>
|
|
32
|
+
`;
|
|
33
|
+
const sharedStepIdToRevisionLookupMap = new Map<number, number>();
|
|
34
|
+
|
|
35
|
+
// Act
|
|
36
|
+
const result = await testStepParserHelper.parseTestSteps(xmlSteps, sharedStepIdToRevisionLookupMap);
|
|
37
|
+
|
|
38
|
+
// Assert
|
|
39
|
+
expect(result).toHaveLength(2);
|
|
40
|
+
expect(result[0].stepId).toBe('1');
|
|
41
|
+
expect(result[0].stepPosition).toBe('1');
|
|
42
|
+
expect(result[0].action).toBe('Step 1 Action');
|
|
43
|
+
expect(result[0].expected).toBe('Step 1 Expected');
|
|
44
|
+
expect(result[0].isSharedStepTitle).toBe(false);
|
|
45
|
+
expect(result[1].stepId).toBe('2');
|
|
46
|
+
expect(result[1].stepPosition).toBe('2');
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
it('should parse test steps with level prefix', async () => {
|
|
50
|
+
// Arrange
|
|
51
|
+
const xmlSteps = `
|
|
52
|
+
<steps>
|
|
53
|
+
<step id="1" type="ActionStep">
|
|
54
|
+
<parameterizedString isformatted="true">Action</parameterizedString>
|
|
55
|
+
<parameterizedString isformatted="true">Expected</parameterizedString>
|
|
56
|
+
</step>
|
|
57
|
+
</steps>
|
|
58
|
+
`;
|
|
59
|
+
const sharedStepIdToRevisionLookupMap = new Map<number, number>();
|
|
60
|
+
|
|
61
|
+
// Act
|
|
62
|
+
const result = await testStepParserHelper.parseTestSteps(
|
|
63
|
+
xmlSteps,
|
|
64
|
+
sharedStepIdToRevisionLookupMap,
|
|
65
|
+
'1.'
|
|
66
|
+
);
|
|
67
|
+
|
|
68
|
+
// Assert
|
|
69
|
+
expect(result).toHaveLength(1);
|
|
70
|
+
expect(result[0].stepPosition).toBe('1.1');
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
it('should handle empty steps XML', async () => {
|
|
74
|
+
// Arrange
|
|
75
|
+
const xmlSteps = `<steps></steps>`;
|
|
76
|
+
const sharedStepIdToRevisionLookupMap = new Map<number, number>();
|
|
77
|
+
|
|
78
|
+
// Act
|
|
79
|
+
const result = await testStepParserHelper.parseTestSteps(xmlSteps, sharedStepIdToRevisionLookupMap);
|
|
80
|
+
|
|
81
|
+
// Assert
|
|
82
|
+
expect(result).toHaveLength(0);
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
it('should handle invalid XML gracefully', async () => {
|
|
86
|
+
// Arrange
|
|
87
|
+
const xmlSteps = `<invalid xml`;
|
|
88
|
+
const sharedStepIdToRevisionLookupMap = new Map<number, number>();
|
|
89
|
+
|
|
90
|
+
// Act
|
|
91
|
+
const result = await testStepParserHelper.parseTestSteps(xmlSteps, sharedStepIdToRevisionLookupMap);
|
|
92
|
+
|
|
93
|
+
// Assert
|
|
94
|
+
expect(result).toEqual([]);
|
|
95
|
+
expect(logger.error).toHaveBeenCalled();
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
it('should parse shared steps (compref) with revision lookup', async () => {
|
|
99
|
+
// Arrange
|
|
100
|
+
const xmlSteps = `
|
|
101
|
+
<steps>
|
|
102
|
+
<compref id="100" ref="999">
|
|
103
|
+
</compref>
|
|
104
|
+
</steps>
|
|
105
|
+
`;
|
|
106
|
+
const sharedStepIdToRevisionLookupMap = new Map<number, number>();
|
|
107
|
+
sharedStepIdToRevisionLookupMap.set(999, 5);
|
|
108
|
+
|
|
109
|
+
const mockSharedStepWI = {
|
|
110
|
+
fields: {
|
|
111
|
+
'Microsoft.VSTS.TCM.Steps': `
|
|
112
|
+
<steps>
|
|
113
|
+
<step id="1" type="ActionStep">
|
|
114
|
+
<parameterizedString isformatted="true">Shared Step Action</parameterizedString>
|
|
115
|
+
<parameterizedString isformatted="true">Shared Step Expected</parameterizedString>
|
|
116
|
+
</step>
|
|
117
|
+
</steps>
|
|
118
|
+
`,
|
|
119
|
+
'System.Title': 'Shared Step Title',
|
|
120
|
+
},
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
(TFSServices.getItemContent as jest.Mock).mockResolvedValueOnce(mockSharedStepWI);
|
|
124
|
+
|
|
125
|
+
// Act
|
|
126
|
+
const result = await testStepParserHelper.parseTestSteps(xmlSteps, sharedStepIdToRevisionLookupMap);
|
|
127
|
+
|
|
128
|
+
// Assert
|
|
129
|
+
expect(TFSServices.getItemContent).toHaveBeenCalledWith(
|
|
130
|
+
`${mockOrgUrl}/_apis/wit/workitems/999/revisions/5`,
|
|
131
|
+
mockToken
|
|
132
|
+
);
|
|
133
|
+
expect(result).toHaveLength(2); // Title + 1 step
|
|
134
|
+
expect(result[0].isSharedStepTitle).toBe(true);
|
|
135
|
+
expect(result[0].action).toContain('Shared Step Title');
|
|
136
|
+
expect(result[1].action).toBe('Shared Step Action');
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
it('should parse shared steps without revision lookup', async () => {
|
|
140
|
+
// Arrange
|
|
141
|
+
const xmlSteps = `
|
|
142
|
+
<steps>
|
|
143
|
+
<compref id="100" ref="999">
|
|
144
|
+
</compref>
|
|
145
|
+
</steps>
|
|
146
|
+
`;
|
|
147
|
+
const sharedStepIdToRevisionLookupMap = new Map<number, number>();
|
|
148
|
+
|
|
149
|
+
const mockSharedStepWI = {
|
|
150
|
+
fields: {
|
|
151
|
+
'Microsoft.VSTS.TCM.Steps': `
|
|
152
|
+
<steps>
|
|
153
|
+
<step id="1" type="ActionStep">
|
|
154
|
+
<parameterizedString isformatted="true">Shared Action</parameterizedString>
|
|
155
|
+
<parameterizedString isformatted="true">Shared Expected</parameterizedString>
|
|
156
|
+
</step>
|
|
157
|
+
</steps>
|
|
158
|
+
`,
|
|
159
|
+
'System.Title': 'My Shared Step',
|
|
160
|
+
},
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
(TFSServices.getItemContent as jest.Mock).mockResolvedValueOnce(mockSharedStepWI);
|
|
164
|
+
|
|
165
|
+
// Act
|
|
166
|
+
const result = await testStepParserHelper.parseTestSteps(xmlSteps, sharedStepIdToRevisionLookupMap);
|
|
167
|
+
|
|
168
|
+
// Assert
|
|
169
|
+
expect(TFSServices.getItemContent).toHaveBeenCalledWith(
|
|
170
|
+
`${mockOrgUrl}/_apis/wit/workitems/999`,
|
|
171
|
+
mockToken
|
|
172
|
+
);
|
|
173
|
+
expect(result).toHaveLength(2);
|
|
174
|
+
});
|
|
175
|
+
|
|
176
|
+
it('should handle shared step fetch error by logging and rethrowing', async () => {
|
|
177
|
+
// Arrange
|
|
178
|
+
const xmlSteps = `
|
|
179
|
+
<steps>
|
|
180
|
+
<compref id="100" ref="999">
|
|
181
|
+
</compref>
|
|
182
|
+
</steps>
|
|
183
|
+
`;
|
|
184
|
+
const sharedStepIdToRevisionLookupMap = new Map<number, number>();
|
|
185
|
+
|
|
186
|
+
(TFSServices.getItemContent as jest.Mock).mockRejectedValueOnce(new Error('API Error'));
|
|
187
|
+
|
|
188
|
+
// Act - The error propagates through processCompref -> fetchSharedSteps
|
|
189
|
+
// but parseTestSteps catches it and returns empty array
|
|
190
|
+
const result = await testStepParserHelper.parseTestSteps(xmlSteps, sharedStepIdToRevisionLookupMap);
|
|
191
|
+
|
|
192
|
+
// Assert - parseTestSteps catches the error and returns empty array
|
|
193
|
+
expect(result).toEqual([]);
|
|
194
|
+
expect(logger.error).toHaveBeenCalled();
|
|
195
|
+
});
|
|
196
|
+
|
|
197
|
+
it('should handle shared step with no steps XML', async () => {
|
|
198
|
+
// Arrange
|
|
199
|
+
const xmlSteps = `
|
|
200
|
+
<steps>
|
|
201
|
+
<compref id="100" ref="999">
|
|
202
|
+
</compref>
|
|
203
|
+
</steps>
|
|
204
|
+
`;
|
|
205
|
+
const sharedStepIdToRevisionLookupMap = new Map<number, number>();
|
|
206
|
+
|
|
207
|
+
const mockSharedStepWI = {
|
|
208
|
+
fields: {
|
|
209
|
+
'Microsoft.VSTS.TCM.Steps': null,
|
|
210
|
+
'System.Title': 'Empty Shared Step',
|
|
211
|
+
},
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
(TFSServices.getItemContent as jest.Mock).mockResolvedValueOnce(mockSharedStepWI);
|
|
215
|
+
|
|
216
|
+
// Act
|
|
217
|
+
const result = await testStepParserHelper.parseTestSteps(xmlSteps, sharedStepIdToRevisionLookupMap);
|
|
218
|
+
|
|
219
|
+
// Assert
|
|
220
|
+
expect(result).toHaveLength(0);
|
|
221
|
+
});
|
|
222
|
+
|
|
223
|
+
it('should handle steps with missing parameterizedString', async () => {
|
|
224
|
+
// Arrange
|
|
225
|
+
const xmlSteps = `
|
|
226
|
+
<steps>
|
|
227
|
+
<step id="1" type="ActionStep">
|
|
228
|
+
</step>
|
|
229
|
+
</steps>
|
|
230
|
+
`;
|
|
231
|
+
const sharedStepIdToRevisionLookupMap = new Map<number, number>();
|
|
232
|
+
|
|
233
|
+
// Act
|
|
234
|
+
const result = await testStepParserHelper.parseTestSteps(xmlSteps, sharedStepIdToRevisionLookupMap);
|
|
235
|
+
|
|
236
|
+
// Assert
|
|
237
|
+
expect(result).toHaveLength(1);
|
|
238
|
+
expect(result[0].action).toBe('');
|
|
239
|
+
expect(result[0].expected).toBe('');
|
|
240
|
+
});
|
|
241
|
+
|
|
242
|
+
it('should handle nested shared steps', async () => {
|
|
243
|
+
// Arrange
|
|
244
|
+
const xmlSteps = `
|
|
245
|
+
<steps>
|
|
246
|
+
<step id="1" type="ActionStep">
|
|
247
|
+
<parameterizedString isformatted="true">Regular Step</parameterizedString>
|
|
248
|
+
<parameterizedString isformatted="true">Expected</parameterizedString>
|
|
249
|
+
</step>
|
|
250
|
+
<compref id="100" ref="999">
|
|
251
|
+
</compref>
|
|
252
|
+
</steps>
|
|
253
|
+
`;
|
|
254
|
+
const sharedStepIdToRevisionLookupMap = new Map<number, number>();
|
|
255
|
+
|
|
256
|
+
const mockSharedStepWI = {
|
|
257
|
+
fields: {
|
|
258
|
+
'Microsoft.VSTS.TCM.Steps': `
|
|
259
|
+
<steps>
|
|
260
|
+
<step id="1" type="ActionStep">
|
|
261
|
+
<parameterizedString isformatted="true">Nested Shared Action</parameterizedString>
|
|
262
|
+
<parameterizedString isformatted="true">Nested Shared Expected</parameterizedString>
|
|
263
|
+
</step>
|
|
264
|
+
</steps>
|
|
265
|
+
`,
|
|
266
|
+
'System.Title': 'Nested Shared Step',
|
|
267
|
+
},
|
|
268
|
+
};
|
|
269
|
+
|
|
270
|
+
(TFSServices.getItemContent as jest.Mock).mockResolvedValueOnce(mockSharedStepWI);
|
|
271
|
+
|
|
272
|
+
// Act
|
|
273
|
+
const result = await testStepParserHelper.parseTestSteps(xmlSteps, sharedStepIdToRevisionLookupMap);
|
|
274
|
+
|
|
275
|
+
// Assert
|
|
276
|
+
expect(result).toHaveLength(3); // 1 regular + 1 title + 1 shared step
|
|
277
|
+
expect(result[0].stepId).toBe('1');
|
|
278
|
+
expect(result[0].action).toBe('Regular Step');
|
|
279
|
+
expect(result[1].isSharedStepTitle).toBe(true);
|
|
280
|
+
expect(result[2].action).toBe('Nested Shared Action');
|
|
281
|
+
});
|
|
282
|
+
|
|
283
|
+
it('should handle parent step ID for nested steps', async () => {
|
|
284
|
+
// Arrange
|
|
285
|
+
const xmlSteps = `
|
|
286
|
+
<steps>
|
|
287
|
+
<step id="1" type="ActionStep">
|
|
288
|
+
<parameterizedString isformatted="true">Action</parameterizedString>
|
|
289
|
+
<parameterizedString isformatted="true">Expected</parameterizedString>
|
|
290
|
+
</step>
|
|
291
|
+
</steps>
|
|
292
|
+
`;
|
|
293
|
+
const sharedStepIdToRevisionLookupMap = new Map<number, number>();
|
|
294
|
+
|
|
295
|
+
// Act
|
|
296
|
+
const result = await testStepParserHelper.parseTestSteps(
|
|
297
|
+
xmlSteps,
|
|
298
|
+
sharedStepIdToRevisionLookupMap,
|
|
299
|
+
'',
|
|
300
|
+
'parent123'
|
|
301
|
+
);
|
|
302
|
+
|
|
303
|
+
// Assert
|
|
304
|
+
expect(result).toHaveLength(1);
|
|
305
|
+
expect(result[0].stepId).toBe('parent123;1');
|
|
306
|
+
});
|
|
307
|
+
|
|
308
|
+
it('should handle compref with nested children steps', async () => {
|
|
309
|
+
// Arrange - compref with children that contain step nodes
|
|
310
|
+
// This tests lines 86-100 where comprefNode.children is processed
|
|
311
|
+
const xmlSteps = `
|
|
312
|
+
<steps>
|
|
313
|
+
<compref id="100" ref="999">
|
|
314
|
+
<step id="1" type="ActionStep">
|
|
315
|
+
<parameterizedString isformatted="true">Nested Step Action</parameterizedString>
|
|
316
|
+
<parameterizedString isformatted="true">Nested Step Expected</parameterizedString>
|
|
317
|
+
</step>
|
|
318
|
+
</compref>
|
|
319
|
+
</steps>
|
|
320
|
+
`;
|
|
321
|
+
const sharedStepIdToRevisionLookupMap = new Map<number, number>();
|
|
322
|
+
|
|
323
|
+
const mockSharedStepWI = {
|
|
324
|
+
fields: {
|
|
325
|
+
'Microsoft.VSTS.TCM.Steps': `
|
|
326
|
+
<steps>
|
|
327
|
+
<step id="1" type="ActionStep">
|
|
328
|
+
<parameterizedString isformatted="true">Shared Action</parameterizedString>
|
|
329
|
+
<parameterizedString isformatted="true">Shared Expected</parameterizedString>
|
|
330
|
+
</step>
|
|
331
|
+
</steps>
|
|
332
|
+
`,
|
|
333
|
+
'System.Title': 'Shared Step',
|
|
334
|
+
},
|
|
335
|
+
};
|
|
336
|
+
|
|
337
|
+
(TFSServices.getItemContent as jest.Mock).mockResolvedValueOnce(mockSharedStepWI);
|
|
338
|
+
|
|
339
|
+
// Act
|
|
340
|
+
const result = await testStepParserHelper.parseTestSteps(xmlSteps, sharedStepIdToRevisionLookupMap);
|
|
341
|
+
|
|
342
|
+
// Assert - should have shared step title + shared step + nested step from children
|
|
343
|
+
expect(result.length).toBeGreaterThanOrEqual(2);
|
|
344
|
+
});
|
|
345
|
+
|
|
346
|
+
it('should handle step position with dot notation', async () => {
|
|
347
|
+
// Arrange - This tests lines 91-95 where stepPosition includes '.'
|
|
348
|
+
const xmlSteps = `
|
|
349
|
+
<steps>
|
|
350
|
+
<step id="1" type="ActionStep">
|
|
351
|
+
<parameterizedString isformatted="true">Action 1</parameterizedString>
|
|
352
|
+
<parameterizedString isformatted="true">Expected 1</parameterizedString>
|
|
353
|
+
</step>
|
|
354
|
+
</steps>
|
|
355
|
+
`;
|
|
356
|
+
const sharedStepIdToRevisionLookupMap = new Map<number, number>();
|
|
357
|
+
|
|
358
|
+
// Act - Pass a level with dot notation
|
|
359
|
+
const result = await testStepParserHelper.parseTestSteps(
|
|
360
|
+
xmlSteps,
|
|
361
|
+
sharedStepIdToRevisionLookupMap,
|
|
362
|
+
'2.3.'
|
|
363
|
+
);
|
|
364
|
+
|
|
365
|
+
// Assert
|
|
366
|
+
expect(result).toHaveLength(1);
|
|
367
|
+
expect(result[0].stepPosition).toBe('2.3.1');
|
|
368
|
+
});
|
|
369
|
+
|
|
370
|
+
it('should handle nested compref within compref', async () => {
|
|
371
|
+
// Arrange - This tests lines 101-109 where nested compref is processed
|
|
372
|
+
const xmlSteps = `
|
|
373
|
+
<steps>
|
|
374
|
+
<compref id="100" ref="999">
|
|
375
|
+
<compref id="200" ref="888">
|
|
376
|
+
</compref>
|
|
377
|
+
</compref>
|
|
378
|
+
</steps>
|
|
379
|
+
`;
|
|
380
|
+
const sharedStepIdToRevisionLookupMap = new Map<number, number>();
|
|
381
|
+
|
|
382
|
+
const mockSharedStepWI1 = {
|
|
383
|
+
fields: {
|
|
384
|
+
'Microsoft.VSTS.TCM.Steps': `<steps><step id="1" type="ActionStep"><parameterizedString>Action1</parameterizedString><parameterizedString>Expected1</parameterizedString></step></steps>`,
|
|
385
|
+
'System.Title': 'Shared Step 1',
|
|
386
|
+
},
|
|
387
|
+
};
|
|
388
|
+
|
|
389
|
+
const mockSharedStepWI2 = {
|
|
390
|
+
fields: {
|
|
391
|
+
'Microsoft.VSTS.TCM.Steps': `<steps><step id="1" type="ActionStep"><parameterizedString>Action2</parameterizedString><parameterizedString>Expected2</parameterizedString></step></steps>`,
|
|
392
|
+
'System.Title': 'Shared Step 2',
|
|
393
|
+
},
|
|
394
|
+
};
|
|
395
|
+
|
|
396
|
+
(TFSServices.getItemContent as jest.Mock)
|
|
397
|
+
.mockResolvedValueOnce(mockSharedStepWI1)
|
|
398
|
+
.mockResolvedValueOnce(mockSharedStepWI2);
|
|
399
|
+
|
|
400
|
+
// Act
|
|
401
|
+
const result = await testStepParserHelper.parseTestSteps(xmlSteps, sharedStepIdToRevisionLookupMap);
|
|
402
|
+
|
|
403
|
+
// Assert - should process both shared steps
|
|
404
|
+
expect(result.length).toBeGreaterThanOrEqual(2);
|
|
405
|
+
});
|
|
406
|
+
|
|
407
|
+
it('should handle complex step position calculations', async () => {
|
|
408
|
+
// Arrange
|
|
409
|
+
const xmlSteps = `
|
|
410
|
+
<steps>
|
|
411
|
+
<step id="1" type="ActionStep">
|
|
412
|
+
<parameterizedString isformatted="true">Step 1</parameterizedString>
|
|
413
|
+
<parameterizedString isformatted="true">Expected 1</parameterizedString>
|
|
414
|
+
</step>
|
|
415
|
+
<step id="2" type="ActionStep">
|
|
416
|
+
<parameterizedString isformatted="true">Step 2</parameterizedString>
|
|
417
|
+
<parameterizedString isformatted="true">Expected 2</parameterizedString>
|
|
418
|
+
</step>
|
|
419
|
+
<step id="3" type="ActionStep">
|
|
420
|
+
<parameterizedString isformatted="true">Step 3</parameterizedString>
|
|
421
|
+
<parameterizedString isformatted="true">Expected 3</parameterizedString>
|
|
422
|
+
</step>
|
|
423
|
+
</steps>
|
|
424
|
+
`;
|
|
425
|
+
const sharedStepIdToRevisionLookupMap = new Map<number, number>();
|
|
426
|
+
|
|
427
|
+
// Act
|
|
428
|
+
const result = await testStepParserHelper.parseTestSteps(xmlSteps, sharedStepIdToRevisionLookupMap);
|
|
429
|
+
|
|
430
|
+
// Assert
|
|
431
|
+
expect(result).toHaveLength(3);
|
|
432
|
+
expect(result[0].stepPosition).toBe('1');
|
|
433
|
+
expect(result[1].stepPosition).toBe('2');
|
|
434
|
+
expect(result[2].stepPosition).toBe('3');
|
|
435
|
+
});
|
|
436
|
+
});
|
|
437
|
+
});
|
package/tsconfig.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tfs.test.js","sourceRoot":"","sources":["../../../src/helpers/test/tfs.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"JfrogDataProvider.test.js","sourceRoot":"","sources":["../../../src/modules/test/JfrogDataProvider.test.ts"],"names":[],"mappings":"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"}
|