@achieveai/azuredevops-mcp 1.3.16 → 1.3.18

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,407 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /**
4
- * Tests that the `project` parameter is correctly propagated from service method
5
- * params to the underlying Azure DevOps API calls, instead of always using
6
- * the default config project.
7
- *
8
- * This was the root cause of project override not working for threads/comments
9
- * while it worked for build APIs.
10
- */
11
- const vitest_1 = require("vitest");
12
- // ── Mock the azure-devops-node-api module ────────────────────────────
13
- const mockGetThreads = vitest_1.vi.fn().mockResolvedValue([]);
14
- const mockGetPullRequestThread = vitest_1.vi.fn().mockResolvedValue({ id: 1 });
15
- const mockCreateThread = vitest_1.vi.fn().mockResolvedValue({ id: 1, comments: [] });
16
- const mockCreateComment = vitest_1.vi.fn().mockResolvedValue({ id: 1 });
17
- const mockUpdateThread = vitest_1.vi.fn().mockResolvedValue({ id: 1 });
18
- const mockGetPullRequests = vitest_1.vi.fn().mockResolvedValue([]);
19
- const mockGetPullRequest = vitest_1.vi.fn().mockResolvedValue({ pullRequestId: 42 });
20
- const mockCreatePullRequest = vitest_1.vi.fn().mockResolvedValue({ pullRequestId: 99 });
21
- const mockUpdatePullRequest = vitest_1.vi.fn().mockResolvedValue({ pullRequestId: 42 });
22
- const mockCreatePullRequestReviewer = vitest_1.vi.fn().mockResolvedValue({});
23
- const mockDeletePullRequestReviewer = vitest_1.vi.fn().mockResolvedValue(undefined);
24
- const mockGetPullRequestWorkItemRefs = vitest_1.vi.fn().mockResolvedValue([]);
25
- const mockGetPullRequestIterations = vitest_1.vi.fn().mockResolvedValue([{ id: 1 }]);
26
- const mockGetPullRequestIterationChanges = vitest_1.vi.fn().mockResolvedValue({ changeEntries: [] });
27
- const mockGetBranches = vitest_1.vi.fn().mockResolvedValue([{ name: 'main', commit: { commitId: 'abc123' } }]);
28
- const mockUpdateRefs = vitest_1.vi.fn().mockResolvedValue([{ name: 'refs/heads/new-branch' }]);
29
- const REPO_GUID = 'c5e7435f-113e-4328-9d8a-726f094bfa95';
30
- const mockGetRepository = vitest_1.vi.fn().mockResolvedValue({ id: REPO_GUID, name: 'MyRepo' });
31
- const mockGetRepositories = vitest_1.vi.fn().mockResolvedValue([{ id: REPO_GUID, name: 'MyRepo' }]);
32
- const mockConnect = vitest_1.vi.fn().mockResolvedValue({ authenticatedUser: { id: 'user-123' } });
33
- const mockGetWorkItems = vitest_1.vi.fn().mockResolvedValue([]);
34
- const mockGetItems = vitest_1.vi.fn().mockResolvedValue([]);
35
- const mockGetItemContent = vitest_1.vi.fn().mockResolvedValue(Buffer.from('file content'));
36
- const mockGetBlobContent = vitest_1.vi.fn().mockResolvedValue(Buffer.from('blob content'));
37
- const mockGetPullRequestById = vitest_1.vi.fn().mockResolvedValue({ pullRequestId: 42 });
38
- const mockGetCommits = vitest_1.vi.fn().mockResolvedValue([]);
39
- const mockGitApi = {
40
- getThreads: mockGetThreads,
41
- getPullRequestThread: mockGetPullRequestThread,
42
- createThread: mockCreateThread,
43
- createComment: mockCreateComment,
44
- updateThread: mockUpdateThread,
45
- getPullRequests: mockGetPullRequests,
46
- getPullRequest: mockGetPullRequest,
47
- createPullRequest: mockCreatePullRequest,
48
- updatePullRequest: mockUpdatePullRequest,
49
- createPullRequestReviewer: mockCreatePullRequestReviewer,
50
- deletePullRequestReviewer: mockDeletePullRequestReviewer,
51
- getPullRequestWorkItemRefs: mockGetPullRequestWorkItemRefs,
52
- getPullRequestIterations: mockGetPullRequestIterations,
53
- getPullRequestIterationChanges: mockGetPullRequestIterationChanges,
54
- getBranches: mockGetBranches,
55
- updateRefs: mockUpdateRefs,
56
- getRepository: mockGetRepository,
57
- getRepositories: mockGetRepositories,
58
- getItems: mockGetItems,
59
- getItemContent: mockGetItemContent,
60
- getBlobContent: mockGetBlobContent,
61
- getPullRequestById: mockGetPullRequestById,
62
- getCommits: mockGetCommits,
63
- };
64
- const mockWorkItemTrackingApi = {
65
- getWorkItems: mockGetWorkItems,
66
- };
67
- vitest_1.vi.mock('azure-devops-node-api', () => {
68
- class MockWebApi {
69
- constructor() {
70
- this.getGitApi = vitest_1.vi.fn().mockResolvedValue(mockGitApi);
71
- this.getWorkItemTrackingApi = vitest_1.vi.fn().mockResolvedValue(mockWorkItemTrackingApi);
72
- this.getPolicyApi = vitest_1.vi.fn().mockResolvedValue({ getPolicyEvaluations: vitest_1.vi.fn().mockResolvedValue([]) });
73
- this.getCoreApi = vitest_1.vi.fn().mockResolvedValue({ getProject: vitest_1.vi.fn().mockResolvedValue({ id: 'proj-guid' }) });
74
- this.connect = mockConnect;
75
- }
76
- }
77
- return {
78
- WebApi: MockWebApi,
79
- getPersonalAccessTokenHandler: vitest_1.vi.fn().mockReturnValue({}),
80
- };
81
- });
82
- // Import after mocking
83
- const GitService_1 = require("./GitService");
84
- const DEFAULT_PROJECT = 'DefaultProject';
85
- const OVERRIDE_PROJECT = 'OverrideProject';
86
- function createService() {
87
- return new GitService_1.GitService({
88
- orgUrl: 'https://dev.azure.com/test',
89
- project: DEFAULT_PROJECT,
90
- personalAccessToken: 'fake-pat',
91
- });
92
- }
93
- (0, vitest_1.describe)('GitService project parameter propagation', () => {
94
- let service;
95
- (0, vitest_1.beforeEach)(() => {
96
- vitest_1.vi.clearAllMocks();
97
- service = createService();
98
- });
99
- // ── getPullRequestComments ──────────────────────────────────────
100
- (0, vitest_1.describe)('getPullRequestComments', () => {
101
- (0, vitest_1.it)('uses config.project by default', async () => {
102
- await service.getPullRequestComments({
103
- repository: 'c5e7435f-113e-4328-9d8a-726f094bfa95',
104
- pullRequestId: 42,
105
- });
106
- (0, vitest_1.expect)(mockGetThreads).toHaveBeenCalledWith('c5e7435f-113e-4328-9d8a-726f094bfa95', 42, DEFAULT_PROJECT);
107
- });
108
- (0, vitest_1.it)('uses override project when provided', async () => {
109
- await service.getPullRequestComments({
110
- repository: 'c5e7435f-113e-4328-9d8a-726f094bfa95',
111
- pullRequestId: 42,
112
- project: OVERRIDE_PROJECT,
113
- });
114
- (0, vitest_1.expect)(mockGetThreads).toHaveBeenCalledWith('c5e7435f-113e-4328-9d8a-726f094bfa95', 42, OVERRIDE_PROJECT);
115
- });
116
- (0, vitest_1.it)('uses override project for single thread retrieval', async () => {
117
- await service.getPullRequestComments({
118
- repository: 'c5e7435f-113e-4328-9d8a-726f094bfa95',
119
- pullRequestId: 42,
120
- threadId: 7,
121
- project: OVERRIDE_PROJECT,
122
- });
123
- (0, vitest_1.expect)(mockGetPullRequestThread).toHaveBeenCalledWith('c5e7435f-113e-4328-9d8a-726f094bfa95', 42, 7, OVERRIDE_PROJECT);
124
- });
125
- });
126
- // ── addPullRequestComment ──────────────────────────────────────
127
- (0, vitest_1.describe)('addPullRequestComment', () => {
128
- (0, vitest_1.it)('uses config.project by default', async () => {
129
- await service.addPullRequestComment({
130
- repository: 'c5e7435f-113e-4328-9d8a-726f094bfa95',
131
- pullRequestId: 42,
132
- comment: 'LGTM',
133
- });
134
- (0, vitest_1.expect)(mockCreateThread).toHaveBeenCalledWith(vitest_1.expect.any(Object), 'c5e7435f-113e-4328-9d8a-726f094bfa95', 42, DEFAULT_PROJECT);
135
- });
136
- (0, vitest_1.it)('uses override project when provided', async () => {
137
- await service.addPullRequestComment({
138
- repository: 'c5e7435f-113e-4328-9d8a-726f094bfa95',
139
- pullRequestId: 42,
140
- comment: 'LGTM',
141
- project: OVERRIDE_PROJECT,
142
- });
143
- (0, vitest_1.expect)(mockCreateThread).toHaveBeenCalledWith(vitest_1.expect.any(Object), 'c5e7435f-113e-4328-9d8a-726f094bfa95', 42, OVERRIDE_PROJECT);
144
- });
145
- });
146
- // ── addPullRequestFileComment ──────────────────────────────────
147
- (0, vitest_1.describe)('addPullRequestFileComment', () => {
148
- (0, vitest_1.it)('uses override project when provided', async () => {
149
- await service.addPullRequestFileComment({
150
- repository: 'c5e7435f-113e-4328-9d8a-726f094bfa95',
151
- pullRequestId: 42,
152
- path: '/src/foo.ts',
153
- comment: 'This file needs tests',
154
- project: OVERRIDE_PROJECT,
155
- });
156
- (0, vitest_1.expect)(mockCreateThread).toHaveBeenCalledWith(vitest_1.expect.any(Object), 'c5e7435f-113e-4328-9d8a-726f094bfa95', 42, OVERRIDE_PROJECT);
157
- });
158
- });
159
- // ── replyToComment ─────────────────────────────────────────────
160
- (0, vitest_1.describe)('replyToComment', () => {
161
- (0, vitest_1.it)('uses config.project by default', async () => {
162
- await service.replyToComment({
163
- repository: 'c5e7435f-113e-4328-9d8a-726f094bfa95',
164
- pullRequestId: 42,
165
- threadId: 7,
166
- comment: 'Fixed',
167
- });
168
- (0, vitest_1.expect)(mockCreateComment).toHaveBeenCalledWith(vitest_1.expect.any(Object), 'c5e7435f-113e-4328-9d8a-726f094bfa95', 42, 7, DEFAULT_PROJECT);
169
- });
170
- (0, vitest_1.it)('uses override project when provided', async () => {
171
- await service.replyToComment({
172
- repository: 'c5e7435f-113e-4328-9d8a-726f094bfa95',
173
- pullRequestId: 42,
174
- threadId: 7,
175
- comment: 'Fixed',
176
- project: OVERRIDE_PROJECT,
177
- });
178
- (0, vitest_1.expect)(mockCreateComment).toHaveBeenCalledWith(vitest_1.expect.any(Object), 'c5e7435f-113e-4328-9d8a-726f094bfa95', 42, 7, OVERRIDE_PROJECT);
179
- });
180
- });
181
- // ── updatePullRequestThread ────────────────────────────────────
182
- (0, vitest_1.describe)('updatePullRequestThread', () => {
183
- (0, vitest_1.it)('uses config.project by default', async () => {
184
- await service.updatePullRequestThread({
185
- repository: 'c5e7435f-113e-4328-9d8a-726f094bfa95',
186
- pullRequestId: 42,
187
- threadId: 7,
188
- status: 'fixed',
189
- });
190
- (0, vitest_1.expect)(mockUpdateThread).toHaveBeenCalledWith(vitest_1.expect.any(Object), 'c5e7435f-113e-4328-9d8a-726f094bfa95', 42, 7, DEFAULT_PROJECT);
191
- });
192
- (0, vitest_1.it)('uses override project when provided', async () => {
193
- await service.updatePullRequestThread({
194
- repository: 'c5e7435f-113e-4328-9d8a-726f094bfa95',
195
- pullRequestId: 42,
196
- threadId: 7,
197
- status: 'closed',
198
- project: OVERRIDE_PROJECT,
199
- });
200
- (0, vitest_1.expect)(mockUpdateThread).toHaveBeenCalledWith(vitest_1.expect.any(Object), 'c5e7435f-113e-4328-9d8a-726f094bfa95', 42, 7, OVERRIDE_PROJECT);
201
- });
202
- });
203
- // ── getPullRequests ────────────────────────────────────────────
204
- (0, vitest_1.describe)('getPullRequests', () => {
205
- (0, vitest_1.it)('uses override project when provided', async () => {
206
- await service.getPullRequests({
207
- repository: 'c5e7435f-113e-4328-9d8a-726f094bfa95',
208
- project: OVERRIDE_PROJECT,
209
- });
210
- (0, vitest_1.expect)(mockGetPullRequests).toHaveBeenCalledWith('c5e7435f-113e-4328-9d8a-726f094bfa95', vitest_1.expect.any(Object), OVERRIDE_PROJECT, undefined, 0, 50);
211
- });
212
- });
213
- // ── createPullRequest ──────────────────────────────────────────
214
- (0, vitest_1.describe)('createPullRequest', () => {
215
- (0, vitest_1.it)('uses override project when provided', async () => {
216
- await service.createPullRequest({
217
- repository: 'c5e7435f-113e-4328-9d8a-726f094bfa95',
218
- sourceRefName: 'refs/heads/feature',
219
- targetRefName: 'refs/heads/main',
220
- title: 'My PR',
221
- project: OVERRIDE_PROJECT,
222
- });
223
- (0, vitest_1.expect)(mockCreatePullRequest).toHaveBeenCalledWith(vitest_1.expect.any(Object), 'c5e7435f-113e-4328-9d8a-726f094bfa95', OVERRIDE_PROJECT);
224
- });
225
- });
226
- // ── getPullRequest ─────────────────────────────────────────────
227
- (0, vitest_1.describe)('getPullRequest', () => {
228
- (0, vitest_1.it)('uses override project when provided', async () => {
229
- await service.getPullRequest({
230
- repository: 'c5e7435f-113e-4328-9d8a-726f094bfa95',
231
- pullRequestId: 42,
232
- project: OVERRIDE_PROJECT,
233
- });
234
- (0, vitest_1.expect)(mockGetPullRequest).toHaveBeenCalledWith('c5e7435f-113e-4328-9d8a-726f094bfa95', 42, OVERRIDE_PROJECT);
235
- });
236
- });
237
- // ── approvePullRequest ─────────────────────────────────────────
238
- (0, vitest_1.describe)('approvePullRequest', () => {
239
- (0, vitest_1.it)('uses override project when provided', async () => {
240
- await service.approvePullRequest({
241
- repository: 'c5e7435f-113e-4328-9d8a-726f094bfa95',
242
- pullRequestId: 42,
243
- project: OVERRIDE_PROJECT,
244
- });
245
- (0, vitest_1.expect)(mockCreatePullRequestReviewer).toHaveBeenCalledWith({ vote: 10 }, 'c5e7435f-113e-4328-9d8a-726f094bfa95', 42, 'user-123', OVERRIDE_PROJECT);
246
- });
247
- });
248
- // ── mergePullRequest ───────────────────────────────────────────
249
- (0, vitest_1.describe)('mergePullRequest', () => {
250
- (0, vitest_1.it)('uses override project when provided', async () => {
251
- await service.mergePullRequest({
252
- repository: 'c5e7435f-113e-4328-9d8a-726f094bfa95',
253
- pullRequestId: 42,
254
- project: OVERRIDE_PROJECT,
255
- });
256
- (0, vitest_1.expect)(mockUpdatePullRequest).toHaveBeenCalledWith(vitest_1.expect.objectContaining({ status: 3 }), 'c5e7435f-113e-4328-9d8a-726f094bfa95', 42, OVERRIDE_PROJECT);
257
- });
258
- });
259
- // ── updatePullRequest ──────────────────────────────────────────
260
- (0, vitest_1.describe)('updatePullRequest', () => {
261
- (0, vitest_1.it)('uses override project when provided', async () => {
262
- await service.updatePullRequest({
263
- repository: 'c5e7435f-113e-4328-9d8a-726f094bfa95',
264
- pullRequestId: 42,
265
- title: 'New Title',
266
- project: OVERRIDE_PROJECT,
267
- });
268
- (0, vitest_1.expect)(mockUpdatePullRequest).toHaveBeenCalledWith(vitest_1.expect.objectContaining({ title: 'New Title' }), 'c5e7435f-113e-4328-9d8a-726f094bfa95', 42, OVERRIDE_PROJECT);
269
- });
270
- });
271
- // ── updatePullRequestReviewers ─────────────────────────────────
272
- (0, vitest_1.describe)('updatePullRequestReviewers', () => {
273
- (0, vitest_1.it)('uses override project for adding reviewers', async () => {
274
- await service.updatePullRequestReviewers({
275
- repository: 'c5e7435f-113e-4328-9d8a-726f094bfa95',
276
- pullRequestId: 42,
277
- reviewersToAdd: ['user-abc'],
278
- project: OVERRIDE_PROJECT,
279
- });
280
- (0, vitest_1.expect)(mockCreatePullRequestReviewer).toHaveBeenCalledWith(vitest_1.expect.any(Object), 'c5e7435f-113e-4328-9d8a-726f094bfa95', 42, 'user-abc', OVERRIDE_PROJECT);
281
- });
282
- (0, vitest_1.it)('uses override project for removing reviewers', async () => {
283
- await service.updatePullRequestReviewers({
284
- repository: 'c5e7435f-113e-4328-9d8a-726f094bfa95',
285
- pullRequestId: 42,
286
- reviewersToRemove: ['user-xyz'],
287
- project: OVERRIDE_PROJECT,
288
- });
289
- (0, vitest_1.expect)(mockDeletePullRequestReviewer).toHaveBeenCalledWith('c5e7435f-113e-4328-9d8a-726f094bfa95', 42, 'user-xyz', OVERRIDE_PROJECT);
290
- });
291
- });
292
- // ── createBranch ───────────────────────────────────────────────
293
- (0, vitest_1.describe)('createBranch', () => {
294
- (0, vitest_1.it)('uses override project when provided', async () => {
295
- await service.createBranch({
296
- repository: 'c5e7435f-113e-4328-9d8a-726f094bfa95',
297
- branchName: 'feature/new',
298
- sourceRef: 'main',
299
- project: OVERRIDE_PROJECT,
300
- });
301
- (0, vitest_1.expect)(mockGetBranches).toHaveBeenCalledWith('c5e7435f-113e-4328-9d8a-726f094bfa95', OVERRIDE_PROJECT);
302
- (0, vitest_1.expect)(mockUpdateRefs).toHaveBeenCalledWith(vitest_1.expect.any(Array), 'c5e7435f-113e-4328-9d8a-726f094bfa95', OVERRIDE_PROJECT);
303
- });
304
- });
305
- // ── browseRepository ─────────────────────────────────────────
306
- (0, vitest_1.describe)('browseRepository', () => {
307
- (0, vitest_1.it)('uses override project for resolveRepositoryId', async () => {
308
- await service.browseRepository({
309
- repository: 'MyRepo',
310
- project: OVERRIDE_PROJECT,
311
- });
312
- (0, vitest_1.expect)(mockGetRepositories).toHaveBeenCalledWith(OVERRIDE_PROJECT, undefined, undefined);
313
- });
314
- });
315
- // ── getFileContent ──────────────────────────────────────────
316
- (0, vitest_1.describe)('getFileContent', () => {
317
- (0, vitest_1.it)('uses override project for resolveRepositoryId', async () => {
318
- await service.getFileContent({
319
- repository: 'MyRepo',
320
- path: '/src/index.ts',
321
- project: OVERRIDE_PROJECT,
322
- });
323
- (0, vitest_1.expect)(mockGetRepositories).toHaveBeenCalledWith(OVERRIDE_PROJECT, undefined, undefined);
324
- });
325
- });
326
- // ── getCommitHistory ────────────────────────────────────────
327
- (0, vitest_1.describe)('getCommitHistory', () => {
328
- (0, vitest_1.it)('uses projectId for resolveRepositoryId and API call', async () => {
329
- await service.getCommitHistory({
330
- repository: 'MyRepo',
331
- projectId: OVERRIDE_PROJECT,
332
- });
333
- (0, vitest_1.expect)(mockGetRepositories).toHaveBeenCalledWith(OVERRIDE_PROJECT, undefined, undefined);
334
- (0, vitest_1.expect)(mockGetCommits).toHaveBeenCalledWith(REPO_GUID, vitest_1.expect.any(Object), OVERRIDE_PROJECT);
335
- });
336
- });
337
- // ── getPullRequestWorkItemRefs ──────────────────────────────
338
- (0, vitest_1.describe)('getPullRequestWorkItemRefs', () => {
339
- (0, vitest_1.it)('uses override project when provided', async () => {
340
- await service.getPullRequestWorkItemRefs(REPO_GUID, 42, OVERRIDE_PROJECT);
341
- (0, vitest_1.expect)(mockGetPullRequestWorkItemRefs).toHaveBeenCalledWith(REPO_GUID, 42, OVERRIDE_PROJECT);
342
- });
343
- (0, vitest_1.it)('uses config.project by default', async () => {
344
- await service.getPullRequestWorkItemRefs(REPO_GUID, 42);
345
- (0, vitest_1.expect)(mockGetPullRequestWorkItemRefs).toHaveBeenCalledWith(REPO_GUID, 42, DEFAULT_PROJECT);
346
- });
347
- });
348
- // ── getPolicyEvaluations ────────────────────────────────────
349
- (0, vitest_1.describe)('getPolicyEvaluations', () => {
350
- (0, vitest_1.it)('uses override project when provided', async () => {
351
- const mockGetPolicyEvaluations = vitest_1.vi.fn().mockResolvedValue([]);
352
- const mockGetProject = vitest_1.vi.fn().mockResolvedValue({ id: 'proj-guid' });
353
- // Access the mock to set up the policy and core APIs
354
- const policyApi = await service.connection.getPolicyApi();
355
- policyApi.getPolicyEvaluations = mockGetPolicyEvaluations;
356
- const coreApi = await service.connection.getCoreApi();
357
- coreApi.getProject = mockGetProject;
358
- await service.getPolicyEvaluations(REPO_GUID, 42, OVERRIDE_PROJECT);
359
- (0, vitest_1.expect)(mockGetProject).toHaveBeenCalledWith(OVERRIDE_PROJECT);
360
- (0, vitest_1.expect)(mockGetPolicyEvaluations).toHaveBeenCalledWith(OVERRIDE_PROJECT, vitest_1.expect.stringContaining('proj-guid'));
361
- });
362
- });
363
- // ── completePullRequest ─────────────────────────────────────
364
- (0, vitest_1.describe)('completePullRequest', () => {
365
- (0, vitest_1.it)('uses override project for resolveRepositoryId', async () => {
366
- await service.completePullRequest({
367
- repository: 'MyRepo',
368
- pullRequestId: 42,
369
- status: 'completed',
370
- mergeStrategy: 'squash',
371
- project: OVERRIDE_PROJECT,
372
- });
373
- (0, vitest_1.expect)(mockGetRepositories).toHaveBeenCalledWith(OVERRIDE_PROJECT, undefined, undefined);
374
- });
375
- });
376
- // ── getPullRequestChangesCount ──────────────────────────────
377
- (0, vitest_1.describe)('getPullRequestChangesCount', () => {
378
- (0, vitest_1.it)('passes project through to getLatestPullRequestIteration', async () => {
379
- await service.getPullRequestChangesCount({
380
- repository: REPO_GUID,
381
- pullRequestId: 42,
382
- project: OVERRIDE_PROJECT,
383
- });
384
- // getLatestPullRequestIteration calls getPullRequestIterations with project
385
- (0, vitest_1.expect)(mockGetPullRequestIterations).toHaveBeenCalledWith(REPO_GUID, 42, OVERRIDE_PROJECT);
386
- // getPullRequestIterationChanges also uses project
387
- (0, vitest_1.expect)(mockGetPullRequestIterationChanges).toHaveBeenCalledWith(REPO_GUID, 42, 1, OVERRIDE_PROJECT);
388
- });
389
- });
390
- // ── resolveRepositoryId with project override ──────────────────
391
- (0, vitest_1.describe)('resolveRepositoryId with project override', () => {
392
- (0, vitest_1.it)('passes project to listRepositories when resolving repo name', async () => {
393
- // Use a repository name (not a GUID) to trigger resolution
394
- await service.getPullRequestComments({
395
- repository: 'MyRepo',
396
- pullRequestId: 42,
397
- project: OVERRIDE_PROJECT,
398
- });
399
- // resolveRepositoryId calls listRepositories which calls getRepositories
400
- // The first arg should be the override project
401
- (0, vitest_1.expect)(mockGetRepositories).toHaveBeenCalledWith(OVERRIDE_PROJECT, undefined, undefined);
402
- // And the resolved GUID should be used for getThreads
403
- (0, vitest_1.expect)(mockGetThreads).toHaveBeenCalledWith(REPO_GUID, 42, OVERRIDE_PROJECT);
404
- });
405
- });
406
- });
407
- //# sourceMappingURL=GitService.project.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GitService.project.test.js","sourceRoot":"","sources":["../../src/Services/GitService.project.test.ts"],"names":[],"mappings":"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"}