github-issue-tower-defence-management 1.147.5 → 1.148.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/umino-project.yml +12 -0
- package/CHANGELOG.md +7 -0
- package/README.md +4 -0
- package/bin/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.js +3 -0
- package/bin/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.js.map +1 -1
- package/bin/adapter/repositories/issue/RestIssueRepository.js +47 -0
- package/bin/adapter/repositories/issue/RestIssueRepository.js.map +1 -1
- package/bin/domain/entities/SearchedIssue.js +3 -0
- package/bin/domain/entities/SearchedIssue.js.map +1 -0
- package/bin/domain/usecases/AssignNoAssigneeIssueToManagerUseCase.js +68 -10
- package/bin/domain/usecases/AssignNoAssigneeIssueToManagerUseCase.js.map +1 -1
- package/bin/domain/usecases/HandleScheduledEventUseCase.js +3 -0
- package/bin/domain/usecases/HandleScheduledEventUseCase.js.map +1 -1
- package/package.json +1 -1
- package/src/adapter/entry-points/console/ui/e2e/consoleTestHarness.ts +1 -0
- package/src/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.ts +6 -1
- package/src/adapter/repositories/issue/RestIssueRepository.test.ts +107 -0
- package/src/adapter/repositories/issue/RestIssueRepository.ts +69 -2
- package/src/domain/entities/SearchedIssue.ts +11 -0
- package/src/domain/usecases/AssignNoAssigneeIssueToManagerUseCase.test.ts +208 -0
- package/src/domain/usecases/AssignNoAssigneeIssueToManagerUseCase.ts +104 -13
- package/src/domain/usecases/HandleScheduledEventUseCase.ts +5 -0
- package/src/domain/usecases/adapter-interfaces/IssueRepository.ts +3 -1
- package/types/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.d.ts +5 -3
- package/types/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.d.ts.map +1 -1
- package/types/adapter/repositories/issue/RestIssueRepository.d.ts +5 -2
- package/types/adapter/repositories/issue/RestIssueRepository.d.ts.map +1 -1
- package/types/domain/entities/SearchedIssue.d.ts +11 -0
- package/types/domain/entities/SearchedIssue.d.ts.map +1 -0
- package/types/domain/usecases/AssignNoAssigneeIssueToManagerUseCase.d.ts +10 -2
- package/types/domain/usecases/AssignNoAssigneeIssueToManagerUseCase.d.ts.map +1 -1
- package/types/domain/usecases/HandleScheduledEventUseCase.d.ts +2 -0
- package/types/domain/usecases/HandleScheduledEventUseCase.d.ts.map +1 -1
- package/types/domain/usecases/adapter-interfaces/IssueRepository.d.ts +3 -1
- package/types/domain/usecases/adapter-interfaces/IssueRepository.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HandleScheduledEventUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/HandleScheduledEventUseCase.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HandleScheduledEventUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/HandleScheduledEventUseCase.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -409,6 +409,7 @@ const createStubIssueRepository = (
|
|
|
409
409
|
updateLabels: () => notImplemented('updateLabels'),
|
|
410
410
|
removeLabel: () => notImplemented('removeLabel'),
|
|
411
411
|
updateAssigneeList: () => notImplemented('updateAssigneeList'),
|
|
412
|
+
searchIssues: () => notImplemented('searchIssues'),
|
|
412
413
|
get: async (issueUrl: string): Promise<Issue | null> =>
|
|
413
414
|
buildIssueForUrl(issueUrl),
|
|
414
415
|
update: () => notImplemented('update'),
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
} from '../../../domain/usecases/adapter-interfaces/IssueRepository';
|
|
11
11
|
import { Project } from '../../../domain/entities/Project';
|
|
12
12
|
import { Issue } from '../../../domain/entities/Issue';
|
|
13
|
+
import { SearchedIssue } from '../../../domain/entities/SearchedIssue';
|
|
13
14
|
import { StoryObjectMap } from '../../../domain/entities/StoryObjectMap';
|
|
14
15
|
import { ApiV3IssueRepository } from './ApiV3IssueRepository';
|
|
15
16
|
import { normalizeGitHubRawUrl } from './gitHubRawUrl';
|
|
@@ -455,6 +456,7 @@ export class ApiV3CheerioRestIssueRepository
|
|
|
455
456
|
| 'updateLabels'
|
|
456
457
|
| 'removeLabel'
|
|
457
458
|
| 'updateAssigneeList'
|
|
459
|
+
| 'searchIssues'
|
|
458
460
|
>,
|
|
459
461
|
readonly graphqlProjectItemRepository: Pick<
|
|
460
462
|
GraphqlProjectItemRepository,
|
|
@@ -935,11 +937,14 @@ export class ApiV3CheerioRestIssueRepository
|
|
|
935
937
|
return this.restIssueRepository.removeLabel(issue, label);
|
|
936
938
|
};
|
|
937
939
|
updateAssigneeList = (
|
|
938
|
-
issue: Issue,
|
|
940
|
+
issue: Pick<Issue, 'org' | 'repo' | 'number'>,
|
|
939
941
|
assigneeList: Member['name'][],
|
|
940
942
|
): Promise<void> => {
|
|
941
943
|
return this.restIssueRepository.updateAssigneeList(issue, assigneeList);
|
|
942
944
|
};
|
|
945
|
+
searchIssues = (query: string): Promise<SearchedIssue[]> => {
|
|
946
|
+
return this.restIssueRepository.searchIssues(query);
|
|
947
|
+
};
|
|
943
948
|
get = async (_issueUrl: string, _project: Project): Promise<Issue | null> => {
|
|
944
949
|
return this.getIssueByUrl(_issueUrl);
|
|
945
950
|
};
|
|
@@ -262,4 +262,111 @@ describe('RestIssueRepository', () => {
|
|
|
262
262
|
);
|
|
263
263
|
});
|
|
264
264
|
});
|
|
265
|
+
|
|
266
|
+
describe('searchIssues', () => {
|
|
267
|
+
const buildSearchItem = (
|
|
268
|
+
overrides: Partial<{
|
|
269
|
+
html_url: string;
|
|
270
|
+
state: string;
|
|
271
|
+
user: { login: string } | null;
|
|
272
|
+
assignees: { login: string }[];
|
|
273
|
+
pull_request: { merged_at: string | null } | null;
|
|
274
|
+
}> = {},
|
|
275
|
+
) => ({
|
|
276
|
+
html_url: 'https://github.com/HiromiShikata/test-repository/pull/12',
|
|
277
|
+
state: 'open',
|
|
278
|
+
user: { login: 'dependabot[bot]' },
|
|
279
|
+
assignees: [],
|
|
280
|
+
pull_request: { merged_at: null },
|
|
281
|
+
...overrides,
|
|
282
|
+
});
|
|
283
|
+
|
|
284
|
+
it('sends the query to the search endpoint and maps the response', async () => {
|
|
285
|
+
mockGet.mockReturnValueOnce(
|
|
286
|
+
mockJsonResponse({ items: [buildSearchItem()] }),
|
|
287
|
+
);
|
|
288
|
+
|
|
289
|
+
const searchedIssues = await restIssueRepository.searchIssues(
|
|
290
|
+
'repo:HiromiShikata/test-repository is:open no:project',
|
|
291
|
+
);
|
|
292
|
+
|
|
293
|
+
expect(mockGet).toHaveBeenCalledWith(
|
|
294
|
+
'https://api.github.com/search/issues',
|
|
295
|
+
{
|
|
296
|
+
searchParams: {
|
|
297
|
+
q: 'repo:HiromiShikata/test-repository is:open no:project',
|
|
298
|
+
per_page: 100,
|
|
299
|
+
page: 1,
|
|
300
|
+
advanced_search: 'true',
|
|
301
|
+
},
|
|
302
|
+
headers: { Authorization: 'token dummy-token' },
|
|
303
|
+
},
|
|
304
|
+
);
|
|
305
|
+
expect(searchedIssues).toEqual([
|
|
306
|
+
{
|
|
307
|
+
url: 'https://github.com/HiromiShikata/test-repository/pull/12',
|
|
308
|
+
org: 'HiromiShikata',
|
|
309
|
+
repo: 'test-repository',
|
|
310
|
+
number: 12,
|
|
311
|
+
state: 'OPEN',
|
|
312
|
+
author: 'dependabot',
|
|
313
|
+
assignees: [],
|
|
314
|
+
},
|
|
315
|
+
]);
|
|
316
|
+
});
|
|
317
|
+
|
|
318
|
+
it('keeps the author login of a human account unchanged', async () => {
|
|
319
|
+
mockGet.mockReturnValueOnce(
|
|
320
|
+
mockJsonResponse({
|
|
321
|
+
items: [buildSearchItem({ user: { login: 'HiromiShikata' } })],
|
|
322
|
+
}),
|
|
323
|
+
);
|
|
324
|
+
|
|
325
|
+
const searchedIssues = await restIssueRepository.searchIssues('anything');
|
|
326
|
+
|
|
327
|
+
expect(searchedIssues[0].author).toBe('HiromiShikata');
|
|
328
|
+
});
|
|
329
|
+
|
|
330
|
+
it('maps a merged pull request and a closed issue to their states', async () => {
|
|
331
|
+
mockGet.mockReturnValueOnce(
|
|
332
|
+
mockJsonResponse({
|
|
333
|
+
items: [
|
|
334
|
+
buildSearchItem({
|
|
335
|
+
state: 'closed',
|
|
336
|
+
pull_request: { merged_at: '2026-08-09T00:00:00Z' },
|
|
337
|
+
}),
|
|
338
|
+
buildSearchItem({
|
|
339
|
+
html_url:
|
|
340
|
+
'https://github.com/HiromiShikata/test-repository/issues/13',
|
|
341
|
+
state: 'closed',
|
|
342
|
+
pull_request: null,
|
|
343
|
+
}),
|
|
344
|
+
],
|
|
345
|
+
}),
|
|
346
|
+
);
|
|
347
|
+
|
|
348
|
+
const searchedIssues = await restIssueRepository.searchIssues('anything');
|
|
349
|
+
|
|
350
|
+
expect(searchedIssues.map((issue) => issue.state)).toEqual([
|
|
351
|
+
'MERGED',
|
|
352
|
+
'CLOSED',
|
|
353
|
+
]);
|
|
354
|
+
});
|
|
355
|
+
|
|
356
|
+
it('requests the next page while a full page is returned', async () => {
|
|
357
|
+
const fullPage = Array.from({ length: 100 }, (_unused, index) =>
|
|
358
|
+
buildSearchItem({
|
|
359
|
+
html_url: `https://github.com/HiromiShikata/test-repository/pull/${index + 1}`,
|
|
360
|
+
}),
|
|
361
|
+
);
|
|
362
|
+
mockGet
|
|
363
|
+
.mockReturnValueOnce(mockJsonResponse({ items: fullPage }))
|
|
364
|
+
.mockReturnValueOnce(mockJsonResponse({ items: [buildSearchItem()] }));
|
|
365
|
+
|
|
366
|
+
const searchedIssues = await restIssueRepository.searchIssues('anything');
|
|
367
|
+
|
|
368
|
+
expect(mockGet).toHaveBeenCalledTimes(2);
|
|
369
|
+
expect(searchedIssues).toHaveLength(101);
|
|
370
|
+
});
|
|
371
|
+
});
|
|
265
372
|
});
|
|
@@ -3,10 +3,24 @@ import { BaseGitHubRepository } from '../BaseGitHubRepository';
|
|
|
3
3
|
import { Issue } from '../../../domain/entities/Issue';
|
|
4
4
|
import { IssueRepository } from '../../../domain/usecases/adapter-interfaces/IssueRepository';
|
|
5
5
|
import { Member } from '../../../domain/entities/Member';
|
|
6
|
+
import { SearchedIssue } from '../../../domain/entities/SearchedIssue';
|
|
7
|
+
|
|
8
|
+
type SearchIssuesResponseItem = {
|
|
9
|
+
html_url: string;
|
|
10
|
+
state: string;
|
|
11
|
+
user: { login: string } | null;
|
|
12
|
+
assignees: { login: string }[];
|
|
13
|
+
pull_request?: { merged_at: string | null } | null;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
type SearchIssuesResponse = {
|
|
17
|
+
items: SearchIssuesResponseItem[];
|
|
18
|
+
};
|
|
6
19
|
|
|
7
20
|
export class RestIssueRepository
|
|
8
21
|
extends BaseGitHubRepository
|
|
9
|
-
implements
|
|
22
|
+
implements
|
|
23
|
+
Pick<IssueRepository, 'updateAssigneeList' | 'removeLabel' | 'searchIssues'>
|
|
10
24
|
{
|
|
11
25
|
createComment = async (issueUrl: string, comment: string) => {
|
|
12
26
|
const { owner, repo, issueNumber } = this.extractIssueFromUrl(issueUrl);
|
|
@@ -128,7 +142,7 @@ export class RestIssueRepository
|
|
|
128
142
|
};
|
|
129
143
|
|
|
130
144
|
updateAssigneeList = async (
|
|
131
|
-
issue: Issue,
|
|
145
|
+
issue: Pick<Issue, 'org' | 'repo' | 'number'>,
|
|
132
146
|
assigneeList: Member['name'][],
|
|
133
147
|
): Promise<void> => {
|
|
134
148
|
await ky.patch(
|
|
@@ -139,4 +153,57 @@ export class RestIssueRepository
|
|
|
139
153
|
},
|
|
140
154
|
);
|
|
141
155
|
};
|
|
156
|
+
|
|
157
|
+
searchIssues = async (query: string): Promise<SearchedIssue[]> => {
|
|
158
|
+
const perPage = 100;
|
|
159
|
+
const maxPageCount = 10;
|
|
160
|
+
const searchedIssues: SearchedIssue[] = [];
|
|
161
|
+
for (let page = 1; page <= maxPageCount; page++) {
|
|
162
|
+
const response = await ky
|
|
163
|
+
.get('https://api.github.com/search/issues', {
|
|
164
|
+
searchParams: {
|
|
165
|
+
q: query,
|
|
166
|
+
per_page: perPage,
|
|
167
|
+
page,
|
|
168
|
+
advanced_search: 'true',
|
|
169
|
+
},
|
|
170
|
+
headers: { Authorization: `token ${this.ghToken}` },
|
|
171
|
+
})
|
|
172
|
+
.json<SearchIssuesResponse>();
|
|
173
|
+
for (const item of response.items) {
|
|
174
|
+
const parsed = this.parseSearchedIssue(item);
|
|
175
|
+
if (parsed) {
|
|
176
|
+
searchedIssues.push(parsed);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
if (response.items.length < perPage) {
|
|
180
|
+
break;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
return searchedIssues;
|
|
184
|
+
};
|
|
185
|
+
|
|
186
|
+
private parseSearchedIssue = (
|
|
187
|
+
item: SearchIssuesResponseItem,
|
|
188
|
+
): SearchedIssue | null => {
|
|
189
|
+
const matched = item.html_url.match(
|
|
190
|
+
/^https:\/\/github\.com\/([^/]+)\/([^/]+)\/(?:issues|pull)\/(\d+)$/,
|
|
191
|
+
);
|
|
192
|
+
if (!matched) {
|
|
193
|
+
return null;
|
|
194
|
+
}
|
|
195
|
+
return {
|
|
196
|
+
url: item.html_url,
|
|
197
|
+
org: matched[1],
|
|
198
|
+
repo: matched[2],
|
|
199
|
+
number: Number(matched[3]),
|
|
200
|
+
state: item.pull_request?.merged_at
|
|
201
|
+
? 'MERGED'
|
|
202
|
+
: item.state === 'open'
|
|
203
|
+
? 'OPEN'
|
|
204
|
+
: 'CLOSED',
|
|
205
|
+
author: (item.user?.login ?? '').replace(/\[bot\]$/, ''),
|
|
206
|
+
assignees: item.assignees.map((assignee) => assignee.login),
|
|
207
|
+
};
|
|
208
|
+
};
|
|
142
209
|
}
|
|
@@ -2,6 +2,8 @@ import { mock } from 'jest-mock-extended';
|
|
|
2
2
|
import { AssignNoAssigneeIssueToManagerUseCase } from './AssignNoAssigneeIssueToManagerUseCase';
|
|
3
3
|
import { IssueRepository } from './adapter-interfaces/IssueRepository';
|
|
4
4
|
import { Issue } from '../entities/Issue';
|
|
5
|
+
import { Project } from '../entities/Project';
|
|
6
|
+
import { SearchedIssue } from '../entities/SearchedIssue';
|
|
5
7
|
|
|
6
8
|
describe('AssignNoAssigneeIssueToManagerUseCase', () => {
|
|
7
9
|
const mockIssueRepository = mock<IssueRepository>();
|
|
@@ -275,6 +277,212 @@ describe('AssignNoAssigneeIssueToManagerUseCase', () => {
|
|
|
275
277
|
]);
|
|
276
278
|
});
|
|
277
279
|
|
|
280
|
+
describe('issues matched by queryToAddProject', () => {
|
|
281
|
+
const project = { ...mock<Project>(), id: 'project-1' };
|
|
282
|
+
const searchedIssue: SearchedIssue = {
|
|
283
|
+
url: 'https://github.com/testOrg/testRepo/pull/7',
|
|
284
|
+
org: 'testOrg',
|
|
285
|
+
repo: 'testRepo',
|
|
286
|
+
number: 7,
|
|
287
|
+
state: 'OPEN',
|
|
288
|
+
author: 'dependabot',
|
|
289
|
+
assignees: [],
|
|
290
|
+
};
|
|
291
|
+
|
|
292
|
+
it('adds a matched issue that is not a project item to the project and assigns the manager', async () => {
|
|
293
|
+
mockIssueRepository.searchIssues.mockResolvedValueOnce([searchedIssue]);
|
|
294
|
+
|
|
295
|
+
await useCase.run({
|
|
296
|
+
issues: [],
|
|
297
|
+
manager: 'manager1',
|
|
298
|
+
cacheUsed: false,
|
|
299
|
+
autoAssignManagerAuthors: ['dependabot'],
|
|
300
|
+
projectToAddSearchedIssues: project,
|
|
301
|
+
queryToAddProjectEnabled: true,
|
|
302
|
+
queryToAddProject: 'repo:testOrg/testRepo is:open no:project',
|
|
303
|
+
});
|
|
304
|
+
|
|
305
|
+
expect(mockIssueRepository.searchIssues.mock.calls).toEqual([
|
|
306
|
+
['repo:testOrg/testRepo is:open no:project'],
|
|
307
|
+
]);
|
|
308
|
+
expect(mockIssueRepository.addIssueToProject.mock.calls).toEqual([
|
|
309
|
+
[project, searchedIssue.url],
|
|
310
|
+
]);
|
|
311
|
+
expect(mockIssueRepository.updateAssigneeList.mock.calls).toEqual([
|
|
312
|
+
[{ org: 'testOrg', repo: 'testRepo', number: 7 }, ['manager1']],
|
|
313
|
+
]);
|
|
314
|
+
});
|
|
315
|
+
|
|
316
|
+
it('does not add or assign a matched issue whose author is outside autoAssignManagerAuthors', async () => {
|
|
317
|
+
mockIssueRepository.searchIssues.mockResolvedValueOnce([
|
|
318
|
+
{ ...searchedIssue, author: 'human-author' },
|
|
319
|
+
]);
|
|
320
|
+
|
|
321
|
+
await useCase.run({
|
|
322
|
+
issues: [],
|
|
323
|
+
manager: 'manager1',
|
|
324
|
+
cacheUsed: false,
|
|
325
|
+
autoAssignManagerAuthors: ['dependabot'],
|
|
326
|
+
projectToAddSearchedIssues: project,
|
|
327
|
+
queryToAddProjectEnabled: true,
|
|
328
|
+
queryToAddProject: 'repo:testOrg/testRepo is:open no:project',
|
|
329
|
+
});
|
|
330
|
+
|
|
331
|
+
expect(mockIssueRepository.addIssueToProject.mock.calls).toEqual([]);
|
|
332
|
+
expect(mockIssueRepository.updateAssigneeList.mock.calls).toEqual([]);
|
|
333
|
+
});
|
|
334
|
+
|
|
335
|
+
it('does not add or assign a matched issue that already has an assignee or is not open', async () => {
|
|
336
|
+
mockIssueRepository.searchIssues.mockResolvedValueOnce([
|
|
337
|
+
{ ...searchedIssue, assignees: ['someone'] },
|
|
338
|
+
{ ...searchedIssue, number: 8, state: 'CLOSED' },
|
|
339
|
+
]);
|
|
340
|
+
|
|
341
|
+
await useCase.run({
|
|
342
|
+
issues: [],
|
|
343
|
+
manager: 'manager1',
|
|
344
|
+
cacheUsed: false,
|
|
345
|
+
autoAssignManagerAuthors: ['dependabot'],
|
|
346
|
+
projectToAddSearchedIssues: project,
|
|
347
|
+
queryToAddProjectEnabled: true,
|
|
348
|
+
queryToAddProject: 'repo:testOrg/testRepo is:open no:project',
|
|
349
|
+
});
|
|
350
|
+
|
|
351
|
+
expect(mockIssueRepository.addIssueToProject.mock.calls).toEqual([]);
|
|
352
|
+
expect(mockIssueRepository.updateAssigneeList.mock.calls).toEqual([]);
|
|
353
|
+
});
|
|
354
|
+
|
|
355
|
+
it('assigns a matched issue that is already a project item only once and does not re-add it', async () => {
|
|
356
|
+
const projectItem = {
|
|
357
|
+
...basicIssue,
|
|
358
|
+
url: searchedIssue.url,
|
|
359
|
+
author: 'dependabot',
|
|
360
|
+
};
|
|
361
|
+
mockIssueRepository.searchIssues.mockResolvedValueOnce([searchedIssue]);
|
|
362
|
+
|
|
363
|
+
await useCase.run({
|
|
364
|
+
issues: [projectItem],
|
|
365
|
+
manager: 'manager1',
|
|
366
|
+
cacheUsed: false,
|
|
367
|
+
autoAssignManagerAuthors: ['dependabot'],
|
|
368
|
+
projectToAddSearchedIssues: project,
|
|
369
|
+
queryToAddProjectEnabled: true,
|
|
370
|
+
queryToAddProject: 'repo:testOrg/testRepo is:open no:project',
|
|
371
|
+
});
|
|
372
|
+
|
|
373
|
+
expect(mockIssueRepository.addIssueToProject.mock.calls).toEqual([]);
|
|
374
|
+
expect(mockIssueRepository.updateAssigneeList.mock.calls).toEqual([
|
|
375
|
+
[projectItem, ['manager1']],
|
|
376
|
+
]);
|
|
377
|
+
});
|
|
378
|
+
|
|
379
|
+
it('does not search when no query is configured', async () => {
|
|
380
|
+
await useCase.run({
|
|
381
|
+
issues: [],
|
|
382
|
+
manager: 'manager1',
|
|
383
|
+
cacheUsed: false,
|
|
384
|
+
autoAssignManagerAuthors: ['dependabot'],
|
|
385
|
+
projectToAddSearchedIssues: project,
|
|
386
|
+
queryToAddProjectEnabled: true,
|
|
387
|
+
queryToAddProject: null,
|
|
388
|
+
});
|
|
389
|
+
|
|
390
|
+
expect(mockIssueRepository.searchIssues.mock.calls).toEqual([]);
|
|
391
|
+
});
|
|
392
|
+
|
|
393
|
+
it('does not search when queryToAddProjectEnabled is false', async () => {
|
|
394
|
+
await useCase.run({
|
|
395
|
+
issues: [],
|
|
396
|
+
manager: 'manager1',
|
|
397
|
+
cacheUsed: false,
|
|
398
|
+
autoAssignManagerAuthors: ['dependabot'],
|
|
399
|
+
projectToAddSearchedIssues: project,
|
|
400
|
+
queryToAddProjectEnabled: false,
|
|
401
|
+
queryToAddProject: 'repo:testOrg/testRepo is:open no:project',
|
|
402
|
+
});
|
|
403
|
+
|
|
404
|
+
expect(mockIssueRepository.searchIssues.mock.calls).toEqual([]);
|
|
405
|
+
expect(mockIssueRepository.addIssueToProject.mock.calls).toEqual([]);
|
|
406
|
+
});
|
|
407
|
+
|
|
408
|
+
it('does not search when queryToAddProjectEnabled is not configured', async () => {
|
|
409
|
+
await useCase.run({
|
|
410
|
+
issues: [],
|
|
411
|
+
manager: 'manager1',
|
|
412
|
+
cacheUsed: false,
|
|
413
|
+
autoAssignManagerAuthors: ['dependabot'],
|
|
414
|
+
projectToAddSearchedIssues: project,
|
|
415
|
+
queryToAddProject: 'repo:testOrg/testRepo is:open no:project',
|
|
416
|
+
});
|
|
417
|
+
|
|
418
|
+
expect(mockIssueRepository.searchIssues.mock.calls).toEqual([]);
|
|
419
|
+
expect(mockIssueRepository.addIssueToProject.mock.calls).toEqual([]);
|
|
420
|
+
});
|
|
421
|
+
|
|
422
|
+
it('logs and returns without throwing when the search fails', async () => {
|
|
423
|
+
mockIssueRepository.searchIssues.mockRejectedValueOnce(
|
|
424
|
+
new Error('Validation Failed'),
|
|
425
|
+
);
|
|
426
|
+
const consoleErrorSpy = jest
|
|
427
|
+
.spyOn(console, 'error')
|
|
428
|
+
.mockImplementation(() => undefined);
|
|
429
|
+
|
|
430
|
+
await useCase.run({
|
|
431
|
+
issues: [],
|
|
432
|
+
manager: 'manager1',
|
|
433
|
+
cacheUsed: false,
|
|
434
|
+
autoAssignManagerAuthors: ['dependabot'],
|
|
435
|
+
projectToAddSearchedIssues: project,
|
|
436
|
+
queryToAddProjectEnabled: true,
|
|
437
|
+
queryToAddProject: 'repo:testOrg/testRepo is:open no:project',
|
|
438
|
+
});
|
|
439
|
+
|
|
440
|
+
expect(consoleErrorSpy).toHaveBeenCalledWith(
|
|
441
|
+
'Failed to search issues by repo:testOrg/testRepo is:open no:project: Validation Failed',
|
|
442
|
+
);
|
|
443
|
+
expect(mockIssueRepository.addIssueToProject.mock.calls).toEqual([]);
|
|
444
|
+
expect(mockIssueRepository.updateAssigneeList.mock.calls).toEqual([]);
|
|
445
|
+
|
|
446
|
+
consoleErrorSpy.mockRestore();
|
|
447
|
+
});
|
|
448
|
+
|
|
449
|
+
it('logs and continues when adding a matched issue to the project fails', async () => {
|
|
450
|
+
mockIssueRepository.searchIssues.mockResolvedValueOnce([
|
|
451
|
+
searchedIssue,
|
|
452
|
+
{
|
|
453
|
+
...searchedIssue,
|
|
454
|
+
url: 'https://github.com/testOrg/testRepo/pull/9',
|
|
455
|
+
number: 9,
|
|
456
|
+
},
|
|
457
|
+
]);
|
|
458
|
+
mockIssueRepository.addIssueToProject.mockRejectedValueOnce(
|
|
459
|
+
new Error('Content not found'),
|
|
460
|
+
);
|
|
461
|
+
const consoleErrorSpy = jest
|
|
462
|
+
.spyOn(console, 'error')
|
|
463
|
+
.mockImplementation(() => undefined);
|
|
464
|
+
|
|
465
|
+
await useCase.run({
|
|
466
|
+
issues: [],
|
|
467
|
+
manager: 'manager1',
|
|
468
|
+
cacheUsed: false,
|
|
469
|
+
autoAssignManagerAuthors: ['dependabot'],
|
|
470
|
+
projectToAddSearchedIssues: project,
|
|
471
|
+
queryToAddProjectEnabled: true,
|
|
472
|
+
queryToAddProject: 'repo:testOrg/testRepo is:open no:project',
|
|
473
|
+
});
|
|
474
|
+
|
|
475
|
+
expect(consoleErrorSpy).toHaveBeenCalledWith(
|
|
476
|
+
'Failed to add issue https://github.com/testOrg/testRepo/pull/7 to project: Content not found',
|
|
477
|
+
);
|
|
478
|
+
expect(mockIssueRepository.updateAssigneeList.mock.calls).toEqual([
|
|
479
|
+
[{ org: 'testOrg', repo: 'testRepo', number: 9 }, ['manager1']],
|
|
480
|
+
]);
|
|
481
|
+
|
|
482
|
+
consoleErrorSpy.mockRestore();
|
|
483
|
+
});
|
|
484
|
+
});
|
|
485
|
+
|
|
278
486
|
it('should rethrow non-Error thrown values without logging', async () => {
|
|
279
487
|
const failingIssue = {
|
|
280
488
|
...basicIssue,
|