gitea.tea/cmd/pulls/create_test.go
Ross Golder f4b549b538
feat(pulls): add reviewer-request subcommands and create-time flags (#571)
Closes #571. Adds three pieces:

- 'tea pulls create --reviewer <user>[,<user>...] [--team-reviewer <team>...]'
  to request reviews at PR-creation time (passes through to
  CreatePullRequestOption.Reviewers / TeamReviewers).
- 'tea pulls request-review <idx> [<idx>...]' / 'tea pulls cancel-review ...'
  subcommands wrapping POST/DELETE /requested_reviewers, with both
  --reviewer and --team-reviewer CSV flags.
- 'tea pulls reviewers' listing subcommand (GET /reviewers) so users can
  discover who can be requested before they invoke the above.

The WIP/draft toggle was deliberately deferred: upstream main already
exposes 'tea pulls create --draft' and 'tea pulls edit --draft/--ready'
(PR #1008), so this patch stays focused on reviewer support only.

Verification:
  make fmt fmt-check vet lint test docs docs-check build
  ./tea pulls create --help / request-review --help / cancel-review --help / reviewers --help

Signed-off-by: Ross Golder <ross@golder.org>
2026-09-05 09:53:32 +07:00

46 lines
850 B
Go

// Copyright 2026 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package pulls
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestCreateCommandMetadata(t *testing.T) {
cmd := &CmdPullsCreate
assert.Equal(t, "create", cmd.Name)
assert.Contains(t, cmd.Aliases, "c")
assert.Equal(t, "Create a pull-request", cmd.Usage)
assert.NotNil(t, cmd.Action)
}
func TestCreateCommandFlags(t *testing.T) {
cmd := &CmdPullsCreate
expectedFlags := []string{
"head",
"base",
"allow-maintainer-edits",
"agit",
"topic",
"draft",
"reviewer",
"team-reviewer",
}
for _, flagName := range expectedFlags {
found := false
for _, flag := range cmd.Flags {
if flag.Names()[0] == flagName {
found = true
break
}
}
assert.True(t, found, "Expected flag %s not found", flagName)
}
}