forked from heavy-duty/ceremony
test: exercise GitHub review-request selector
This commit is contained in:
parent
22865aba54
commit
f0f3907618
1 changed files with 23 additions and 6 deletions
|
|
@ -600,6 +600,16 @@ FAKE_REVIEWS='[
|
|||
review_requests_stub
|
||||
check "supersedes 'a stale approval still owes a verdict': one never re-requested is not requested" 0 "" \
|
||||
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 "" \
|
||||
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"
|
||||
# shellcheck disable=SC2317 # invoked indirectly, by forge_api
|
||||
gh() {
|
||||
case "$1 $2" in
|
||||
"api repos/o/r/pulls/55")
|
||||
jq -r '.requested_reviewers[].login' <<'JSON'
|
||||
[ "$1" = api ] || return 1
|
||||
shift
|
||||
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"}]}
|
||||
JSON
|
||||
;;
|
||||
*) return 1 ;;
|
||||
esac
|
||||
}
|
||||
check "github returns requested_reviewers from the PR object unchanged" 0 "" \
|
||||
eq $'claude-bot\nglm-bot' forge_pr_review_requests 55
|
||||
|
|
|
|||
Loading…
Reference in a new issue