npm-cli-gh-issue-preparator 1.17.0 → 1.19.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.
Files changed (24) hide show
  1. package/.github/workflows/test.yml +2 -2
  2. package/CHANGELOG.md +14 -0
  3. package/bin/adapter/repositories/TowerDefenceProjectRepository.js +3 -0
  4. package/bin/adapter/repositories/TowerDefenceProjectRepository.js.map +1 -1
  5. package/bin/domain/usecases/NotifyFinishedIssuePreparationUseCase.js +4 -1
  6. package/bin/domain/usecases/NotifyFinishedIssuePreparationUseCase.js.map +1 -1
  7. package/bin/domain/usecases/StartPreparationUseCase.js +3 -1
  8. package/bin/domain/usecases/StartPreparationUseCase.js.map +1 -1
  9. package/package.json +1 -1
  10. package/src/adapter/repositories/TowerDefenceProjectRepository.test.ts +29 -0
  11. package/src/adapter/repositories/TowerDefenceProjectRepository.ts +7 -0
  12. package/src/domain/usecases/NotifyFinishedIssuePreparationUseCase.test.ts +61 -1
  13. package/src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts +17 -2
  14. package/src/domain/usecases/StartPreparationUseCase.test.ts +39 -1
  15. package/src/domain/usecases/StartPreparationUseCase.ts +13 -2
  16. package/src/domain/usecases/adapter-interfaces/ProjectRepository.ts +4 -0
  17. package/types/adapter/repositories/TowerDefenceProjectRepository.d.ts +1 -0
  18. package/types/adapter/repositories/TowerDefenceProjectRepository.d.ts.map +1 -1
  19. package/types/domain/usecases/NotifyFinishedIssuePreparationUseCase.d.ts +1 -1
  20. package/types/domain/usecases/NotifyFinishedIssuePreparationUseCase.d.ts.map +1 -1
  21. package/types/domain/usecases/StartPreparationUseCase.d.ts +1 -1
  22. package/types/domain/usecases/StartPreparationUseCase.d.ts.map +1 -1
  23. package/types/domain/usecases/adapter-interfaces/ProjectRepository.d.ts +1 -0
  24. package/types/domain/usecases/adapter-interfaces/ProjectRepository.d.ts.map +1 -1
@@ -28,13 +28,13 @@ jobs:
28
28
  GH_TOKEN: ${{ secrets.GH_TOKEN }}
29
29
 
30
30
  - name: Upload test results
31
- uses: actions/upload-artifact@v6
31
+ uses: actions/upload-artifact@v7
32
32
  with:
33
33
  name: jest-junit-report
34
34
  path: reports/jest-junit
35
35
 
36
36
  - name: Upload artifacts
37
- uses: actions/upload-artifact@v6
37
+ uses: actions/upload-artifact@v7
38
38
  with:
39
39
  name: reports
40
40
  path: reports
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ # [1.19.0](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/compare/v1.18.0...v1.19.0) (2026-02-28)
2
+
3
+
4
+ ### Features
5
+
6
+ * **core:** add prepareCustomNumberField method to ProjectRepository ([ea39e42](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/commit/ea39e426c6505c638ee338743580a7e59eb0727d))
7
+
8
+ # [1.18.0](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/compare/v1.17.0...v1.18.0) (2026-02-28)
9
+
10
+
11
+ ### Features
12
+
13
+ * **core:** call prepareStatus for all provided statuses before use ([c2739f3](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/commit/c2739f3a3adfa64e97bb37ed25a18999b0f54b7c))
14
+
1
15
  # [1.17.0](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/compare/v1.16.1...v1.17.0) (2026-02-26)
2
16
 
3
17
 
@@ -40,6 +40,9 @@ class TowerDefenceProjectRepository {
40
40
  completionDate50PercentConfidence: towerDefenceProject.completionDate50PercentConfidence,
41
41
  };
42
42
  }
43
+ async prepareCustomNumberField(_fieldName, project) {
44
+ return project;
45
+ }
43
46
  }
44
47
  exports.TowerDefenceProjectRepository = TowerDefenceProjectRepository;
45
48
  //# sourceMappingURL=TowerDefenceProjectRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TowerDefenceProjectRepository.js","sourceRoot":"","sources":["../../../src/adapter/repositories/TowerDefenceProjectRepository.ts"],"names":[],"mappings":";;;AAAA,iGAG+C;AAI/C,MAAa,6BAA6B;IAIxC,YACmB,cAAsB,EACtB,MAAc;QADd,mBAAc,GAAd,cAAc,CAAQ;QACtB,WAAM,GAAN,MAAM,CAAQ;QALzB,kBAAa,GAA+B,IAAI,CAAC;QACjD,eAAU,GAAkB,IAAI,CAAC;IAKtC,CAAC;IAEI,KAAK,CAAC,WAAW;QACvB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAA,yDAAiB,EAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACnE,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;QACpC,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAW;QACxB,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACrD,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,OAAgB;QACjD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,YAAY,CAClB,mBAAwC,EACxC,GAAW;QAEX,OAAO;YACL,EAAE,EAAE,mBAAmB,CAAC,EAAE;YAC1B,GAAG,EAAE,GAAG;YACR,UAAU,EAAE,mBAAmB,CAAC,UAAU;YAC1C,IAAI,EAAE,mBAAmB,CAAC,IAAI;YAC9B,MAAM,EAAE,mBAAmB,CAAC,MAAM;YAClC,cAAc,EAAE,mBAAmB,CAAC,cAAc;YAClD,cAAc,EAAE,mBAAmB,CAAC,cAAc;YAClD,KAAK,EAAE,mBAAmB,CAAC,KAAK;YAChC,0BAA0B,EACxB,mBAAmB,CAAC,0BAA0B;YAChD,gCAAgC,EAC9B,mBAAmB,CAAC,gCAAgC;YACtD,iCAAiC,EAC/B,mBAAmB,CAAC,iCAAiC;SACxD,CAAC;IACJ,CAAC;CACF;AAlDD,sEAkDC"}
1
+ {"version":3,"file":"TowerDefenceProjectRepository.js","sourceRoot":"","sources":["../../../src/adapter/repositories/TowerDefenceProjectRepository.ts"],"names":[],"mappings":";;;AAAA,iGAG+C;AAI/C,MAAa,6BAA6B;IAIxC,YACmB,cAAsB,EACtB,MAAc;QADd,mBAAc,GAAd,cAAc,CAAQ;QACtB,WAAM,GAAN,MAAM,CAAQ;QALzB,kBAAa,GAA+B,IAAI,CAAC;QACjD,eAAU,GAAkB,IAAI,CAAC;IAKtC,CAAC;IAEI,KAAK,CAAC,WAAW;QACvB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAA,yDAAiB,EAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACnE,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;QACpC,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAW;QACxB,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACrD,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,OAAgB;QACjD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,YAAY,CAClB,mBAAwC,EACxC,GAAW;QAEX,OAAO;YACL,EAAE,EAAE,mBAAmB,CAAC,EAAE;YAC1B,GAAG,EAAE,GAAG;YACR,UAAU,EAAE,mBAAmB,CAAC,UAAU;YAC1C,IAAI,EAAE,mBAAmB,CAAC,IAAI;YAC9B,MAAM,EAAE,mBAAmB,CAAC,MAAM;YAClC,cAAc,EAAE,mBAAmB,CAAC,cAAc;YAClD,cAAc,EAAE,mBAAmB,CAAC,cAAc;YAClD,KAAK,EAAE,mBAAmB,CAAC,KAAK;YAChC,0BAA0B,EACxB,mBAAmB,CAAC,0BAA0B;YAChD,gCAAgC,EAC9B,mBAAmB,CAAC,gCAAgC;YACtD,iCAAiC,EAC/B,mBAAmB,CAAC,iCAAiC;SACxD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,UAAkB,EAClB,OAAgB;QAEhB,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAzDD,sEAyDC"}
@@ -21,7 +21,10 @@ class NotifyFinishedIssuePreparationUseCase {
21
21
  this.issueRepository = issueRepository;
22
22
  this.issueCommentRepository = issueCommentRepository;
23
23
  this.run = async (params) => {
24
- const project = await this.projectRepository.getByUrl(params.projectUrl);
24
+ let project = await this.projectRepository.getByUrl(params.projectUrl);
25
+ project = await this.projectRepository.prepareStatus(params.preparationStatus, project);
26
+ project = await this.projectRepository.prepareStatus(params.awaitingWorkspaceStatus, project);
27
+ project = await this.projectRepository.prepareStatus(params.awaitingQualityCheckStatus, project);
25
28
  const issue = await this.issueRepository.get(params.issueUrl, project);
26
29
  if (!issue) {
27
30
  throw new IssueNotFoundError(params.issueUrl);
@@ -1 +1 @@
1
- {"version":3,"file":"NotifyFinishedIssuePreparationUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts"],"names":[],"mappings":";;;AAIA,MAAa,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,QAAgB;QAC1B,KAAK,CAAC,oBAAoB,QAAQ,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AALD,gDAKC;AACD,MAAa,uBAAwB,SAAQ,KAAK;IAChD,YACE,QAAgB,EAChB,aAA4B,EAC5B,cAA6B;QAE7B,KAAK,CACH,4BAA4B,QAAQ,cAAc,cAAc,aAAa,aAAa,EAAE,CAC7F,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAXD,0DAWC;AASD,MAAa,qCAAqC;IAChD,YACmB,iBAAsD,EACtD,eAGhB,EACgB,sBAGhB;QARgB,sBAAiB,GAAjB,iBAAiB,CAAqC;QACtD,oBAAe,GAAf,eAAe,CAG/B;QACgB,2BAAsB,GAAtB,sBAAsB,CAGtC;QAGH,QAAG,GAAG,KAAK,EAAE,MAOZ,EAAiB,EAAE;YAClB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAEzE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEvE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChD,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBACrD,MAAM,IAAI,uBAAuB,CAC/B,MAAM,CAAC,QAAQ,EACf,KAAK,CAAC,MAAM,EACZ,MAAM,CAAC,iBAAiB,CACzB,CAAC;YACJ,CAAC;YACD,MAAM,QAAQ,GACZ,MAAM,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAEhE,MAAM,kBAAkB,GAAG,QAAQ,CAAC,KAAK,CACvC,CAAC,MAAM,CAAC,sBAAsB,GAAG,CAAC,CACnC,CAAC;YACF,IACE,kBAAkB,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CACpC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAC1D,CAAC,MAAM,IAAI,MAAM,CAAC,sBAAsB;gBACzC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACnC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAClD,EACD,CAAC;gBACD,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,0BAA0B,CAAC;gBACjD,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAClD,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAC7C,KAAK,EACL,8CAA8C,MAAM,CAAC,sBAAsB,QAAQ,CACpF,CAAC;gBACF,OAAO;YACT,CAAC;YAED,MAAM,eAAe,GAAyB,EAAE,CAAC;YACjD,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAClD,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7D,eAAe,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CACnD,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAC9B,CAAC;YACF,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC1E,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAClE,KAAK,CAAC,GAAG,CACV,CAAC;gBACF,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBAC/B,eAAe,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;gBACjD,CAAC;qBAAM,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrC,eAAe,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;gBACvD,CAAC;qBAAM,CAAC;oBACN,MAAM,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;oBAC7B,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;wBACpB,eAAe,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;oBAClD,CAAC;oBACD,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC;wBACzB,eAAe,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;oBAC3D,CAAC;oBACD,IAAI,CAAC,EAAE,CAAC,2BAA2B,EAAE,CAAC;wBACpC,eAAe,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;oBAC1D,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,eAAe,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAChC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,0BAA0B,CAAC;gBACjD,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAClD,OAAO;YACT,CAAC;YAED,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,uBAAuB,CAAC;YAC9C,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAElD,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAC7C,KAAK,EACL,gCAAgC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClF,CAAC;QACJ,CAAC,CAAC;IA1FC,CAAC;CA2FL;AAtGD,sFAsGC"}
1
+ {"version":3,"file":"NotifyFinishedIssuePreparationUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,9 @@ class StartPreparationUseCase {
19
19
  console.warn('Failed to check Claude usage:', error);
20
20
  }
21
21
  const maximumPreparingIssuesCount = params.maximumPreparingIssuesCount ?? 6;
22
- const project = await this.projectRepository.getByUrl(params.projectUrl);
22
+ let project = await this.projectRepository.getByUrl(params.projectUrl);
23
+ project = await this.projectRepository.prepareStatus(params.awaitingWorkspaceStatus, project);
24
+ project = await this.projectRepository.prepareStatus(params.preparationStatus, project);
23
25
  const storyObjectMap = await this.issueRepository.getStoryObjectMap(project);
24
26
  const allIssues = await this.issueRepository.getAllOpened(project);
25
27
  const repositoryBlockerIssues = this.createWorkflowBockerIsues(storyObjectMap);
@@ -1 +1 @@
1
- {"version":3,"file":"StartPreparationUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/StartPreparationUseCase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StartPreparationUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/StartPreparationUseCase.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "npm-cli-gh-issue-preparator",
3
- "version": "1.17.0",
3
+ "version": "1.19.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "scripts": {
@@ -212,4 +212,33 @@ describe('TowerDefenceProjectRepository', () => {
212
212
  expect(result).toBe(mockProject);
213
213
  });
214
214
  });
215
+
216
+ describe('prepareCustomNumberField', () => {
217
+ it('should return the project unchanged', async () => {
218
+ const mockProject: Project = {
219
+ id: 'project-1',
220
+ url: 'https://github.com/users/user/projects/1',
221
+ databaseId: 123,
222
+ name: 'Test Project',
223
+ status: {
224
+ name: 'Status',
225
+ fieldId: 'status-field-id',
226
+ statuses: [],
227
+ },
228
+ nextActionDate: null,
229
+ nextActionHour: null,
230
+ story: null,
231
+ remainingEstimationMinutes: null,
232
+ dependedIssueUrlSeparatedByComma: null,
233
+ completionDate50PercentConfidence: null,
234
+ };
235
+
236
+ const result = await repository.prepareCustomNumberField(
237
+ 'Custom Number',
238
+ mockProject,
239
+ );
240
+
241
+ expect(result).toBe(mockProject);
242
+ });
243
+ });
215
244
  });
@@ -55,4 +55,11 @@ export class TowerDefenceProjectRepository implements ProjectRepository {
55
55
  towerDefenceProject.completionDate50PercentConfidence,
56
56
  };
57
57
  }
58
+
59
+ async prepareCustomNumberField(
60
+ _fieldName: string,
61
+ project: Project,
62
+ ): Promise<Project> {
63
+ return project;
64
+ }
58
65
  }
@@ -74,7 +74,12 @@ describe('NotifyFinishedIssuePreparationUseCase', () => {
74
74
 
75
75
  mockProjectRepository = {
76
76
  getByUrl: jest.fn(),
77
- prepareStatus: jest.fn(),
77
+ prepareStatus: jest
78
+ .fn()
79
+ .mockImplementation((_name: string, project: Project) =>
80
+ Promise.resolve(project),
81
+ ),
82
+ prepareCustomNumberField: jest.fn(),
78
83
  };
79
84
 
80
85
  mockIssueRepository = {
@@ -97,6 +102,61 @@ describe('NotifyFinishedIssuePreparationUseCase', () => {
97
102
  );
98
103
  });
99
104
 
105
+ it('should call prepareStatus for preparationStatus, awaitingWorkspaceStatus, and awaitingQualityCheckStatus with chained project objects', async () => {
106
+ const projectAfterFirstPrepare = createMockProject();
107
+ const projectAfterSecondPrepare = createMockProject();
108
+ const projectAfterThirdPrepare = createMockProject();
109
+ const issue = createMockIssue({
110
+ url: 'https://github.com/user/repo/issues/1',
111
+ status: 'Preparation',
112
+ });
113
+
114
+ mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
115
+ mockProjectRepository.prepareStatus
116
+ .mockResolvedValueOnce(projectAfterFirstPrepare)
117
+ .mockResolvedValueOnce(projectAfterSecondPrepare)
118
+ .mockResolvedValueOnce(projectAfterThirdPrepare);
119
+ mockIssueRepository.get.mockResolvedValue(issue);
120
+ mockIssueCommentRepository.getCommentsFromIssue.mockResolvedValue([
121
+ createMockComment({ content: 'From: Test report' }),
122
+ ]);
123
+ mockIssueRepository.findRelatedOpenPRs.mockResolvedValue([
124
+ {
125
+ url: 'https://github.com/user/repo/pull/1',
126
+ isConflicted: false,
127
+ isPassedAllCiJob: true,
128
+ isResolvedAllReviewComments: true,
129
+ isBranchOutOfDate: false,
130
+ },
131
+ ]);
132
+
133
+ await useCase.run({
134
+ projectUrl: 'https://github.com/users/user/projects/1',
135
+ issueUrl: 'https://github.com/user/repo/issues/1',
136
+ preparationStatus: 'Preparation',
137
+ awaitingWorkspaceStatus: 'Awaiting Workspace',
138
+ awaitingQualityCheckStatus: 'Awaiting Quality Check',
139
+ thresholdForAutoReject: 3,
140
+ });
141
+
142
+ expect(mockProjectRepository.prepareStatus).toHaveBeenCalledTimes(3);
143
+ expect(mockProjectRepository.prepareStatus).toHaveBeenNthCalledWith(
144
+ 1,
145
+ 'Preparation',
146
+ mockProject,
147
+ );
148
+ expect(mockProjectRepository.prepareStatus).toHaveBeenNthCalledWith(
149
+ 2,
150
+ 'Awaiting Workspace',
151
+ projectAfterFirstPrepare,
152
+ );
153
+ expect(mockProjectRepository.prepareStatus).toHaveBeenNthCalledWith(
154
+ 3,
155
+ 'Awaiting Quality Check',
156
+ projectAfterSecondPrepare,
157
+ );
158
+ });
159
+
100
160
  it('should update issue status from Preparation to Awaiting Quality Check when last comment starts with From:', async () => {
101
161
  const issue = createMockIssue({
102
162
  url: 'https://github.com/user/repo/issues/1',
@@ -30,7 +30,10 @@ type RejectedReasonType =
30
30
 
31
31
  export class NotifyFinishedIssuePreparationUseCase {
32
32
  constructor(
33
- private readonly projectRepository: Pick<ProjectRepository, 'getByUrl'>,
33
+ private readonly projectRepository: Pick<
34
+ ProjectRepository,
35
+ 'getByUrl' | 'prepareStatus'
36
+ >,
34
37
  private readonly issueRepository: Pick<
35
38
  IssueRepository,
36
39
  'get' | 'update' | 'findRelatedOpenPRs'
@@ -49,7 +52,19 @@ export class NotifyFinishedIssuePreparationUseCase {
49
52
  awaitingQualityCheckStatus: string;
50
53
  thresholdForAutoReject: number;
51
54
  }): Promise<void> => {
52
- const project = await this.projectRepository.getByUrl(params.projectUrl);
55
+ let project = await this.projectRepository.getByUrl(params.projectUrl);
56
+ project = await this.projectRepository.prepareStatus(
57
+ params.preparationStatus,
58
+ project,
59
+ );
60
+ project = await this.projectRepository.prepareStatus(
61
+ params.awaitingWorkspaceStatus,
62
+ project,
63
+ );
64
+ project = await this.projectRepository.prepareStatus(
65
+ params.awaitingQualityCheckStatus,
66
+ project,
67
+ );
53
68
 
54
69
  const issue = await this.issueRepository.get(params.issueUrl, project);
55
70
 
@@ -83,7 +83,12 @@ describe('StartPreparationUseCase', () => {
83
83
  mockProject = createMockProject();
84
84
  mockProjectRepository = {
85
85
  getByUrl: jest.fn(),
86
- prepareStatus: jest.fn(),
86
+ prepareStatus: jest
87
+ .fn()
88
+ .mockImplementation((_name: string, project: Project) =>
89
+ Promise.resolve(project),
90
+ ),
91
+ prepareCustomNumberField: jest.fn(),
87
92
  };
88
93
  mockIssueRepository = {
89
94
  getAllOpened: jest.fn(),
@@ -105,6 +110,39 @@ describe('StartPreparationUseCase', () => {
105
110
  mockLocalCommandRunner,
106
111
  );
107
112
  });
113
+ it('should call prepareStatus for awaitingWorkspaceStatus and preparationStatus with chained project objects', async () => {
114
+ const projectAfterFirstPrepare = createMockProject();
115
+ const projectAfterSecondPrepare = createMockProject();
116
+ mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
117
+ mockProjectRepository.prepareStatus
118
+ .mockResolvedValueOnce(projectAfterFirstPrepare)
119
+ .mockResolvedValueOnce(projectAfterSecondPrepare);
120
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
121
+ createMockStoryObjectMap([]),
122
+ );
123
+ mockIssueRepository.getAllOpened.mockResolvedValueOnce([]);
124
+
125
+ await useCase.run({
126
+ projectUrl: 'https://github.com/user/repo',
127
+ awaitingWorkspaceStatus: 'Awaiting Workspace',
128
+ preparationStatus: 'Preparation',
129
+ defaultAgentName: 'agent1',
130
+ maximumPreparingIssuesCount: null,
131
+ utilizationPercentageThreshold: 90,
132
+ });
133
+
134
+ expect(mockProjectRepository.prepareStatus).toHaveBeenCalledTimes(2);
135
+ expect(mockProjectRepository.prepareStatus).toHaveBeenNthCalledWith(
136
+ 1,
137
+ 'Awaiting Workspace',
138
+ mockProject,
139
+ );
140
+ expect(mockProjectRepository.prepareStatus).toHaveBeenNthCalledWith(
141
+ 2,
142
+ 'Preparation',
143
+ projectAfterFirstPrepare,
144
+ );
145
+ });
108
146
  it('should run aw command for awaiting workspace issues', async () => {
109
147
  const awaitingIssues: Issue[] = [
110
148
  createMockIssue({
@@ -7,7 +7,10 @@ import { ClaudeRepository } from './adapter-interfaces/ClaudeRepository';
7
7
 
8
8
  export class StartPreparationUseCase {
9
9
  constructor(
10
- private readonly projectRepository: Pick<ProjectRepository, 'getByUrl'>,
10
+ private readonly projectRepository: Pick<
11
+ ProjectRepository,
12
+ 'getByUrl' | 'prepareStatus'
13
+ >,
11
14
  private readonly issueRepository: Pick<
12
15
  IssueRepository,
13
16
  'getAllOpened' | 'getStoryObjectMap' | 'update'
@@ -43,7 +46,15 @@ export class StartPreparationUseCase {
43
46
  }
44
47
 
45
48
  const maximumPreparingIssuesCount = params.maximumPreparingIssuesCount ?? 6;
46
- const project = await this.projectRepository.getByUrl(params.projectUrl);
49
+ let project = await this.projectRepository.getByUrl(params.projectUrl);
50
+ project = await this.projectRepository.prepareStatus(
51
+ params.awaitingWorkspaceStatus,
52
+ project,
53
+ );
54
+ project = await this.projectRepository.prepareStatus(
55
+ params.preparationStatus,
56
+ project,
57
+ );
47
58
  const storyObjectMap =
48
59
  await this.issueRepository.getStoryObjectMap(project);
49
60
  const allIssues = await this.issueRepository.getAllOpened(project);
@@ -3,4 +3,8 @@ import { Project } from '../../entities/Project';
3
3
  export interface ProjectRepository {
4
4
  getByUrl(url: string): Promise<Project>;
5
5
  prepareStatus(name: string, project: Project): Promise<Project>;
6
+ prepareCustomNumberField(
7
+ fieldName: string,
8
+ project: Project,
9
+ ): Promise<Project>;
6
10
  }
@@ -10,5 +10,6 @@ export declare class TowerDefenceProjectRepository implements ProjectRepository
10
10
  getByUrl(url: string): Promise<Project>;
11
11
  prepareStatus(_name: string, project: Project): Promise<Project>;
12
12
  private mapToProject;
13
+ prepareCustomNumberField(_fieldName: string, project: Project): Promise<Project>;
13
14
  }
14
15
  //# sourceMappingURL=TowerDefenceProjectRepository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TowerDefenceProjectRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/TowerDefenceProjectRepository.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4DAA4D,CAAC;AAC/F,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAExD,qBAAa,6BAA8B,YAAW,iBAAiB;IAKnE,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,aAAa,CAAoC;IACzD,OAAO,CAAC,UAAU,CAAuB;gBAGtB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM;YAGnB,WAAW;IAUnB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMvC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAItE,OAAO,CAAC,YAAY;CAqBrB"}
1
+ {"version":3,"file":"TowerDefenceProjectRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/TowerDefenceProjectRepository.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4DAA4D,CAAC;AAC/F,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAExD,qBAAa,6BAA8B,YAAW,iBAAiB;IAKnE,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,aAAa,CAAoC;IACzD,OAAO,CAAC,UAAU,CAAuB;gBAGtB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM;YAGnB,WAAW;IAUnB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMvC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAItE,OAAO,CAAC,YAAY;IAsBd,wBAAwB,CAC5B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,OAAO,CAAC;CAGpB"}
@@ -11,7 +11,7 @@ export declare class NotifyFinishedIssuePreparationUseCase {
11
11
  private readonly projectRepository;
12
12
  private readonly issueRepository;
13
13
  private readonly issueCommentRepository;
14
- constructor(projectRepository: Pick<ProjectRepository, 'getByUrl'>, issueRepository: Pick<IssueRepository, 'get' | 'update' | 'findRelatedOpenPRs'>, issueCommentRepository: Pick<IssueCommentRepository, 'getCommentsFromIssue' | 'createComment'>);
14
+ constructor(projectRepository: Pick<ProjectRepository, 'getByUrl' | 'prepareStatus'>, issueRepository: Pick<IssueRepository, 'get' | 'update' | 'findRelatedOpenPRs'>, issueCommentRepository: Pick<IssueCommentRepository, 'getCommentsFromIssue' | 'createComment'>);
15
15
  run: (params: {
16
16
  projectUrl: string;
17
17
  issueUrl: string;
@@ -1 +1 @@
1
- {"version":3,"file":"NotifyFinishedIssuePreparationUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAErF,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,QAAQ,EAAE,MAAM;CAI7B;AACD,qBAAa,uBAAwB,SAAQ,KAAK;gBAE9C,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,cAAc,EAAE,MAAM,GAAG,IAAI;CAOhC;AASD,qBAAa,qCAAqC;IAE9C,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAIhC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;gBALtB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,EACtD,eAAe,EAAE,IAAI,CACpC,eAAe,EACf,KAAK,GAAG,QAAQ,GAAG,oBAAoB,CACxC,EACgB,sBAAsB,EAAE,IAAI,CAC3C,sBAAsB,EACtB,sBAAsB,GAAG,eAAe,CACzC;IAGH,GAAG,GAAU,QAAQ;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,uBAAuB,EAAE,MAAM,CAAC;QAChC,0BAA0B,EAAE,MAAM,CAAC;QACnC,sBAAsB,EAAE,MAAM,CAAC;KAChC,KAAG,OAAO,CAAC,IAAI,CAAC,CAiFf;CACH"}
1
+ {"version":3,"file":"NotifyFinishedIssuePreparationUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAErF,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,QAAQ,EAAE,MAAM;CAI7B;AACD,qBAAa,uBAAwB,SAAQ,KAAK;gBAE9C,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,cAAc,EAAE,MAAM,GAAG,IAAI;CAOhC;AASD,qBAAa,qCAAqC;IAE9C,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAIlC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAIhC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;gBARtB,iBAAiB,EAAE,IAAI,CACtC,iBAAiB,EACjB,UAAU,GAAG,eAAe,CAC7B,EACgB,eAAe,EAAE,IAAI,CACpC,eAAe,EACf,KAAK,GAAG,QAAQ,GAAG,oBAAoB,CACxC,EACgB,sBAAsB,EAAE,IAAI,CAC3C,sBAAsB,EACtB,sBAAsB,GAAG,eAAe,CACzC;IAGH,GAAG,GAAU,QAAQ;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,uBAAuB,EAAE,MAAM,CAAC;QAChC,0BAA0B,EAAE,MAAM,CAAC;QACnC,sBAAsB,EAAE,MAAM,CAAC;KAChC,KAAG,OAAO,CAAC,IAAI,CAAC,CA6Ff;CACH"}
@@ -8,7 +8,7 @@ export declare class StartPreparationUseCase {
8
8
  private readonly issueRepository;
9
9
  private readonly claudeRepository;
10
10
  private readonly localCommandRunner;
11
- constructor(projectRepository: Pick<ProjectRepository, 'getByUrl'>, issueRepository: Pick<IssueRepository, 'getAllOpened' | 'getStoryObjectMap' | 'update'>, claudeRepository: Pick<ClaudeRepository, 'getUsage'>, localCommandRunner: LocalCommandRunner);
11
+ constructor(projectRepository: Pick<ProjectRepository, 'getByUrl' | 'prepareStatus'>, issueRepository: Pick<IssueRepository, 'getAllOpened' | 'getStoryObjectMap' | 'update'>, claudeRepository: Pick<ClaudeRepository, 'getUsage'>, localCommandRunner: LocalCommandRunner);
12
12
  run: (params: {
13
13
  projectUrl: string;
14
14
  awaitingWorkspaceStatus: string;
@@ -1 +1 @@
1
- {"version":3,"file":"StartPreparationUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/StartPreparationUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E,OAAO,EAAe,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE,qBAAa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAIhC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBANlB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,EACtD,eAAe,EAAE,IAAI,CACpC,eAAe,EACf,cAAc,GAAG,mBAAmB,GAAG,QAAQ,CAChD,EACgB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,EACpD,kBAAkB,EAAE,kBAAkB;IAGzD,GAAG,GAAU,QAAQ;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,uBAAuB,EAAE,MAAM,CAAC;QAChC,iBAAiB,EAAE,MAAM,CAAC;QAC1B,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3C,8BAA8B,EAAE,MAAM,CAAC;KACxC,KAAG,OAAO,CAAC,IAAI,CAAC,CA8Ff;IACF,yBAAyB,GACvB,gBAAgB,cAAc,KAC7B;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,MAAM,EAAE,CAAC;KAC5B,EAAE,CAyBD;CACH"}
1
+ {"version":3,"file":"StartPreparationUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/StartPreparationUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E,OAAO,EAAe,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE,qBAAa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAIlC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAIhC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBATlB,iBAAiB,EAAE,IAAI,CACtC,iBAAiB,EACjB,UAAU,GAAG,eAAe,CAC7B,EACgB,eAAe,EAAE,IAAI,CACpC,eAAe,EACf,cAAc,GAAG,mBAAmB,GAAG,QAAQ,CAChD,EACgB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,EACpD,kBAAkB,EAAE,kBAAkB;IAGzD,GAAG,GAAU,QAAQ;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,uBAAuB,EAAE,MAAM,CAAC;QAChC,iBAAiB,EAAE,MAAM,CAAC;QAC1B,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3C,8BAA8B,EAAE,MAAM,CAAC;KACxC,KAAG,OAAO,CAAC,IAAI,CAAC,CAsGf;IACF,yBAAyB,GACvB,gBAAgB,cAAc,KAC7B;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,MAAM,EAAE,CAAC;KAC5B,EAAE,CAyBD;CACH"}
@@ -2,5 +2,6 @@ import { Project } from '../../entities/Project';
2
2
  export interface ProjectRepository {
3
3
  getByUrl(url: string): Promise<Project>;
4
4
  prepareStatus(name: string, project: Project): Promise<Project>;
5
+ prepareCustomNumberField(fieldName: string, project: Project): Promise<Project>;
5
6
  }
6
7
  //# sourceMappingURL=ProjectRepository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectRepository.d.ts","sourceRoot":"","sources":["../../../../src/domain/usecases/adapter-interfaces/ProjectRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACjE"}
1
+ {"version":3,"file":"ProjectRepository.d.ts","sourceRoot":"","sources":["../../../../src/domain/usecases/adapter-interfaces/ProjectRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChE,wBAAwB,CACtB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,OAAO,CAAC,CAAC;CACrB"}