[quality] bundle e2e never drives plain /close or the /milestone refusals through dist/index.js
I maintainer di solito rispondono entro 2 giorni
Una pull request collegata è già stata integrata.
- #296 di @hivecommons-hive — integrata
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 88/100
- Tipo di issue
- Refactoring
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- github-actions, typescript
- Ambito
- testing-qa
Direzione di ricerca
Inizia da tests/bundle/collaborationCommands.test.ts e dagli helper in tests/bundle/helpers, quindi esegui npm run test:coverage:e2e. Aggiungi tests/bundle/closeMilestone.test.ts usando gli scenari close e milestone elencati, verificando l’esattezza delle request e degli errori. Il lavoro è completato quando la suite bundle copre ogni caso della checklist senza modificare le implementazioni dei comandi.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Finding
Cluster: src/issueComment/close.ts and src/issueComment/milestone.ts, end-to-end arms only. Disjoint from every open hold-gated bundle PR (#242 cron jobs input, #244 /meow, #246 fixed/prefixed labels, #283 OWNERS, #286 approve review, #289 tide, #291 blunderbuss, #293 hold/sweep): none of their diffs touch /close, /milestone or these two files.
Unit evidence: npx vitest run --coverage on main @ 3fc21f2 (Node v26.10.0, vitest 5.0.1, @vitest/coverage-v8 5.0.1): 100 % lines (2382/2382), 99.81 % branches, 100 % functions. Both files are fully unit-covered (__tests__/issueCommentTest/close.test.ts, milestone.test.ts).
End-to-end evidence: npm run test:coverage:e2e (the source-mapped bundle run added by #274) on the same revision, __tests__/bundle only (5 files / 142 tests): src/ at 77.9 % lines / 70.82 % branches. Per file, from coverage-final.json:
| file | e2e lines | e2e branches | lines never reached from dist/ |
|---|---|---|---|
src/issueComment/close.ts |
80 % | 66.66 % | 24, 39, 56-60, 64 |
src/issueComment/milestone.ts |
73.07 % | 53.84 % | 28, 40, 44, 52, 71-73 |
What that means in behaviour:
- plain
/close(lines 56-60, theelseofnot-planned) — the command's primary form — is never run through the bundle.bundle.test.tsdrives only the non-collaborator no-op and/close not-planned. The author shortcut (isAuthor→ no collaborator read, line 33) is likewise never exercised e2e. /closewhosePATCH /issues/1fails never surfacescould not close issue(line 64)./milestone <title>that matches no milestone never produces themilestone "…" not found. Available milestones: …failure and never proves noPATCHis sent (lines 71-73)./milestonewith no argument (line 52,please provide a milestone to add) and by a non-collaborator (line 44,commenter is not authorized to set a milestone) are never refused through the bundle.
Lines 24/28 (payload without an issue number) and 39/40 (checkCollaborator rejecting) are not reachable from an issue_comment payload over HTTP — checkCollaborator swallows non-404 errors and returns false — so they are not part of this gap.
Recommendation
Add __tests__/bundle/closeMilestone.test.ts (new file, same shape as collaborationCommands.test.ts: start() a fake GitHub, comment()/helpersFor() from ./helpers, assert the exact request list) covering:
- plain
/closeby the issue author: no collaborator read, onePATCH /issues/1with{ state: 'closed' }and nostate_reason -
/closewhosePATCHreturns 500: run fails anderrorsnamescould not close issue -
/milestone v9with milestonesv1.0,Sprint 2: run fails namingmilestone "v9" not foundand the available titles; noPATCH -
/milestonewith no argument: run fails withplease provide a milestone to addafter only the collaborator read -
/milestone v1.0by a non-collaborator: run fails withcommenter is not authorized to set a milestone; no milestones read, noPATCH
Priority
- Impact: medium — covered by unit tests, not by the bundle suite (coverage-gap priority 2 under the unit-but-not-e2e rule)
- Effort: low
Filed by quality agent (hold-gated mode)
🐝 Hive Agent: quality | Instance: hosted-available-lke648397-260827-5q9t | SHA: 3fc21f2
— hive: agent=quality backend=copilot model=claude-fable-5.1 copilot=1.0.88
- Lingua principale
- TypeScript
- Stelle
- 132
- Fork
- 23
- Merge medio
- 1g 18h
- PR unite (30g)
- 191
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di cncf/prow-github-actions
-
[quality] tide.ts: six mutation survivors in the merge-queue gate, draft refusal, fork-403 workflow-file diagnosis and getPull's fork flag are unpinned by any testForse già presa @hivecommons-hive l’ha presa oggi. Apertaagent/quality needs-kind stage/040-covered-by-pr testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
cncf/prow-github-actions#517 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
[quality] coverage-e2e names auth.ts:24 as the only uncovered line on main; getErrorDetails' non-object arm is unreachable through dist/ (Octokit always rejects a RequestError)Forse già presa @hivecommons-hive l’ha presa 1 giorno fa. Apertaagent/quality hive/partially-addressed hive/verified-open needs-kind stage/040-covered-by-pr testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
cncf/prow-github-actions#507 · 5 commenti ·
I maintainer di solito rispondono entro 2 giorni
-
[quality] mutation survivors in src/cronJobs/sweep.ts: blunderbuss explicit:false (:163) and the since-window edge (:149,:178,:179)Forse già presa @hivecommons-hive l’ha presa oggi. Apertaagent/quality needs-kind stage/040-covered-by-pr testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
cncf/prow-github-actions#515 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
[quality] mutation survivors in src/utils: labelMatch.ts:23 suffix/overlap arm and command.ts:92 fence-close boundary are not pinned by any testForse già presa @hivecommons-hive l’ha presa oggi. Apertaagent/quality needs-kind stage/040-covered-by-pr testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
cncf/prow-github-actions#513 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
🐝 Hive Advisory ReportApertakind/cleanup
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
cncf/prow-github-actions#170 · 2 commenti ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di cncf/prow-github-actions
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
radix-ui/primitives#4228 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
SignalK/freeboard-sk#1093 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
[测试] 等待仓库加载后再记录多仓库排序基线Forse già presa @myot233 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno