test: exercise GitHub review-request selector

This commit is contained in:
codex-bot-andresmgsl 2026-08-24 14:42:36 +00:00
parent 22865aba54
commit f0f3907618

View file

@ -600,6 +600,16 @@ FAKE_REVIEWS='[
review_requests_stub review_requests_stub
check "supersedes 'a stale approval still owes a verdict': one never re-requested is not requested" 0 "" \ check "supersedes 'a stale approval still owes a verdict': one never re-requested is not requested" 0 "" \
eq "" forge_pr_review_requests 96 eq "" forge_pr_review_requests 96
# rig!146 after merge: all three panelists submitted, so the reviews endpoint
# carries no REQUEST_REVIEW row even though requested_reviewers stayed stale.
FAKE_REVIEWS_N=3
FAKE_REVIEWS='[
{"user":{"login":"kimi-bot"},"state":"APPROVED","commit_id":"merged","submitted_at":"2026-08-02T14:05:01Z"},
{"user":{"login":"glm-bot"},"state":"APPROVED","commit_id":"merged","submitted_at":"2026-08-02T14:14:45Z"},
{"user":{"login":"claude-bot"},"state":"APPROVED","commit_id":"merged","submitted_at":"2026-08-02T14:03:39Z"}
]'
review_requests_stub
check "supersedes 'the never-cleared forgejo field collapses to who actually owes': a merged PR yields nobody" 0 "" \ check "supersedes 'the never-cleared forgejo field collapses to who actually owes': a merged PR yields nobody" 0 "" \
eq "" forge_pr_review_requests 146 eq "" forge_pr_review_requests 146
@ -637,14 +647,21 @@ check "supersedes 'a Forgejo request row is not an answer and leaves the login o
. "$ROOT/lib/forge-github.sh" . "$ROOT/lib/forge-github.sh"
# shellcheck disable=SC2317 # invoked indirectly, by forge_api # shellcheck disable=SC2317 # invoked indirectly, by forge_api
gh() { gh() {
case "$1 $2" in [ "$1" = api ] || return 1
"api repos/o/r/pulls/55") shift
jq -r '.requested_reviewers[].login' <<'JSON' local jqexpr="" endpoint=""
while [ $# -gt 0 ]; do
case "$1" in
--jq) jqexpr="$2"; shift ;;
-*) ;;
*) [ -n "$endpoint" ] || endpoint="$1" ;;
esac
shift
done
[ "$endpoint" = repos/o/r/pulls/55 ] || return 1
jq -r "$jqexpr" <<'JSON'
{"requested_reviewers":[{"login":"glm-bot"},{"login":"claude-bot"}]} {"requested_reviewers":[{"login":"glm-bot"},{"login":"claude-bot"}]}
JSON JSON
;;
*) return 1 ;;
esac
} }
check "github returns requested_reviewers from the PR object unchanged" 0 "" \ check "github returns requested_reviewers from the PR object unchanged" 0 "" \
eq $'claude-bot\nglm-bot' forge_pr_review_requests 55 eq $'claude-bot\nglm-bot' forge_pr_review_requests 55