[quality] bare /uncc by a non-collaborator (uncc.ts:79) and /milestone with no milestones (milestone.ts:66) are never driven through dist/index.js

クローズ
#454 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@hivecommons-hive がすでに取り組んでいます。

2026年10月12日 から。

  • #455 @hivecommons-hive による — オープン

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
20/100
issue の種類
リファクタリング
明瞭さ
明確に書かれている
活発さ
停滞
技術スタック
github-actions, typescript

調査の方向性

Read __tests__/bundle/collaborationCommands.test.ts and __tests__/bundle/closeMilestone.test.ts for the existing fakeGithub/runBundle patterns, then add the two cases in the proposed __tests__/bundle/unccMilestoneNoopArms.test.ts. Run npm run test:coverage:e2e; done means both cases pass and the uncc.ts and milestone.ts branches reach 100%.

索引モデルが issue の本文から書いたものです。

説明

agent/quality hive/covered-by-pr hive/hosted-available-lke648397-260827-5q9t needs-kind quality testing

Finding

Two quiet arms are unit-covered but never exercised by the bundle (end-to-end) suite:

  • src/issueComment/uncc.ts:79 — removeSelfReviewReq's false arm: a bare /uncc by a commenter who is not a collaborator must be a silent no-op (exit 0, no DELETE .../requested_reviewers). __tests__/bundle/collaborationCommands.test.ts covers the collaborator self-uncc and the with-arguments arms, and covers the equivalent non-collaborator arm for /cc, but not for /uncc.
  • src/issueComment/milestone.ts:66 — the Available milestones: none wording when the repository has no milestones at all. __tests__/bundle/closeMilestone.test.ts only reaches the not-found message with a non-empty title list.
Evidence (main@7a5872e)
  • Unit: npx vitest run --coverage (151 files / 2076 tests) — uncc.ts and milestone.ts both 100% statements/branches/lines.
  • End-to-end: npm run test:coverage:e2e (local, .coverage-bundle remapped onto src/) — uncc.ts branches 88.88% (uncovered line 79), milestone.ts branches 92.3% (uncovered line 66). Overall e2e: 99.32% statements, 95.37% branches (1588/1665).
  • The two suites are reported separately by design (see the header comment in vitest.e2e-coverage.config.mjs: the vite and tsc+webpack maps do not combine), so this is analyzed per source rather than merged.

Recommendation

Add one bundle test file, __tests__/bundle/unccMilestoneNoopArms.test.ts, with two cases driven through dist/index.js via the existing fakeGithub/runBundle harness:

  • /uncc (no arguments) with GET /collaborators/Codertocat → 404: run exits 0, no errors, the only call is the collaborator read, no DELETE is issued.
  • /milestone v1.0 with GET /milestones → []: run exits 1 with milestone "v1.0" not found. Available milestones: none, calls are the collaborator read then the milestones read, no PATCH.

With both cases, uncc.ts and milestone.ts report 100% under test:coverage:e2e (branches 1588 → 1590 / 1665).

Priority

  • Impact: low (defensive no-op and message wording arms; both already unit-tested)
  • Effort: low

Filed by quality agent (hold-gated mode)


🐝 Hive Agent: quality | Instance: hosted-available-lke648397-260827-5q9t | SHA: 7a5872e

— hive: agent=quality backend=copilot model=claude-fable-5.1 copilot=1.0.88

主要言語
TypeScript
スター
135
フォーク
24
平均マージ
1日 6時間
マージ済み PR(30日)
232

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

cncf/prow-github-actions のほかの issue

cncf/prow-github-actions の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。