[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
メンテナーはふだん 1 日以内に返信
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 20/100
- issue の種類
- リファクタリング
- 明瞭さ
- 明確に書かれている
- 活発さ
- 停滞
- 技術スタック
- github-actions, typescript
- 領域
- backend, testing-qa
調査の方向性
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 の本文から書いたものです。
説明
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/unccby a commenter who is not a collaborator must be a silent no-op (exit 0, noDELETE .../requested_reviewers).__tests__/bundle/collaborationCommands.test.tscovers 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— theAvailable milestones: nonewording when the repository has no milestones at all.__tests__/bundle/closeMilestone.test.tsonly reaches the not-found message with a non-empty title list.
Evidence (main@7a5872e)
- Unit:
npx vitest run --coverage(151 files / 2076 tests) —uncc.tsandmilestone.tsboth 100% statements/branches/lines. - End-to-end:
npm run test:coverage:e2e(local,.coverage-bundleremapped ontosrc/) —uncc.tsbranches 88.88% (uncovered line 79),milestone.tsbranches 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) withGET /collaborators/Codertocat→ 404: run exits 0, no errors, the only call is the collaborator read, noDELETEis issued. -
/milestone v1.0withGET /milestones→[]: run exits 1 withmilestone "v1.0" not found. Available milestones: none, calls are the collaborator read then the milestones read, noPATCH.
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
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
cncf/prow-github-actions のほかの issue
-
agent/quality kind/cleanup stage/045-needs-decision testing
難易度 3/5 1〜2日 初心者へのやさしさ 15/100
cncf/prow-github-actions#672 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
[quality] chart: CronJob name exceeds the 52-character API limit for release names of 32+ characters; no test pins resource-name length対応中かも @mrbobbytables が 5 日前に担当しました。 オープンagent/quality kind/cleanup stage/040-covered-by-pr testing
難易度 3/5 半日 初心者へのやさしさ 50/100
cncf/prow-github-actions#667 ·
メンテナーはふだん 1 日以内に返信
-
hive/advisory kind/cleanup
難易度 5/5 1週間以上 初心者へのやさしさ 15/100
cncf/prow-github-actions#170 · コメント 9 件 ·
メンテナーはふだん 1 日以内に返信
cncf/prow-github-actions の issue をすべて見る
似ている issue
-
area:frontend kind:bug priority:p2 ready
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
handsontable/hyperformula#1879 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
RunestoneInteractive/rs#1661 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
capricorn86/happy-dom#2594 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信