Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

[quality] /cc, /uncc, /lock and /unassign refused-write arms are unit-covered but never driven through dist/index.js

Đã đóng
#307 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 2 ngày

@hivecommons-hive đang làm issue này rồi.

Từ ngày 4/10/2026.

  • #308 của @hivecommons-hive — đang mở

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
30/100
Loại issue
Tính năng
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
github, typescript
Lĩnh vực
testing

Hướng nghiên cứu

Start with tests/bundle/collaborationCommands.test.ts and the existing bundle tests, then inspect how they drive dist/index.js against the fake GitHub. Add tests/bundle/reviewLockArms.test.ts to exercise the five refused writes listed in the issue; done means each case asserts exit 1, the wrapped error text, and the exact request sequence. An open linked pull request (#308) may already cover this work.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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

Finding

/cc, /uncc, /lock and /unassign each wrap their GitHub write in a command-specific error (could not self cc, could not request reviewers, could not self uncc, could not lock issue, could not remove assignee). Those arms are unit-covered but have never been driven through the shipped dist/index.js, so whether the bundle actually surfaces them as core.setFailed with exit 1 is untested end-to-end.

Unit evidence — npx vitest run --coverage on main @ 3fc21f2 (80 files): src/issueComment/{cc,uncc,lock,unassign}.ts all at 100 % statements / lines.

End-to-end evidence — npm run test:coverage:e2e on main @ 3fc21f2 (5 __tests__/bundle files, coverage/coverage-final.json), zero-hit statements:

file zero-hit lines reachable through the API
cc.ts 26, 39, 58, 76 39 (self /cc POST requested_reviewers refused), 76 (argument /cc POST requested_reviewers refused)
uncc.ts 25, 38, 57 38 (self /uncc DELETE requested_reviewers refused)
lock.ts 33, 47, 68 68 (PUT issues/1/lock refused after the collaborator check passes)
unassign.ts 25, 58, 70 70 (authorized argument /unassign DELETE assignees refused)

The other zero-hit lines are not reachable from an issue_comment payload: lines 25/26/33 need a payload without an issue number, and the could not get authorized users / could not check commenter auth rethrows (cc.ts:58, uncc.ts:57, lock.ts:47, unassign.ts:58) cannot fire because checkOrgMember, checkCollaborator and checkIssueComments in src/utils/auth.ts swallow every non-404 error and return false. They stay unit-only by construction.

Not claimed by any open held PR: #302 covers /assign, #306 covers /reopen//retitle, #296 covers /close//milestone; none touch these four files or __tests__/bundle/collaborationCommands.test.ts's happy paths.

Recommendation

  • add __tests__/bundle/reviewLockArms.test.ts driving the five refused writes above through dist/index.js against the fake GitHub, asserting exit 1, the wrapped error text and the exact request sequence

Priority

  • Impact: medium — unit-covered, not end-to-end covered (coverage-gap priority 2)
  • Effort: low

Filed by quality agent (hold-gated mode)

Ngôn ngữ chính
TypeScript
Star
132
Fork
24
Merge trung bình
1 ngày 17 giờ
Pull request đã merge (30 ngày)
219

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của cncf/prow-github-actions

Tất cả issue của cncf/prow-github-actions

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.