From d8aa8598114c3c01f0a83de0588219ab3792b450 Mon Sep 17 00:00:00 2001 From: Ross Golder Date: Thu, 30 Jul 2026 10:27:20 +0700 Subject: [PATCH] test(teams-members): cover metadata, subcommand registration, and confirm flag Verify the parent command's name, aliases, and subcommand set, plus metadata and --confirm flag presence on each delete subcommand. --- cmd/teams/members/members_test.go | 67 +++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 cmd/teams/members/members_test.go diff --git a/cmd/teams/members/members_test.go b/cmd/teams/members/members_test.go new file mode 100644 index 00000000..b56223fe --- /dev/null +++ b/cmd/teams/members/members_test.go @@ -0,0 +1,67 @@ +// Copyright 2026 The Gitea Authors. All rights reserved. +// SPDX-License-Identifier: MIT + +package members + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestMembersCommandMetadata(t *testing.T) { + cmd := &CmdTeamsMembers + + assert.Equal(t, "members", cmd.Name) + assert.Contains(t, cmd.Aliases, "member") + assert.Equal(t, "Manage team members", cmd.Usage) + assert.NotNil(t, cmd.Action) +} + +func TestMembersSubcommandsRegistered(t *testing.T) { + want := []string{"list", "create", "delete"} + have := make(map[string]bool, len(want)) + for _, sub := range CmdTeamsMembers.Commands { + have[sub.Name] = true + } + for _, name := range want { + assert.True(t, have[name], "expected subcommand %q not registered", name) + } +} + +func TestMembersListMetadata(t *testing.T) { + cmd := &CmdTeamsMembersList + assert.Equal(t, "list", cmd.Name) + assert.Contains(t, cmd.Aliases, "ls") + assert.Equal(t, "", cmd.ArgsUsage) + assert.NotNil(t, cmd.Action) +} + +func TestMembersCreateMetadata(t *testing.T) { + cmd := &CmdTeamsMembersCreate + assert.Equal(t, "create", cmd.Name) + for _, want := range []string{"add", "c"} { + assert.Contains(t, cmd.Aliases, want) + } + assert.Equal(t, " ", cmd.ArgsUsage) + assert.NotNil(t, cmd.Action) +} + +func TestMembersDeleteMetadata(t *testing.T) { + cmd := &CmdTeamsMembersDelete + assert.Equal(t, "delete", cmd.Name) + for _, want := range []string{"rm", "remove"} { + assert.Contains(t, cmd.Aliases, want) + } + assert.Equal(t, " ", cmd.ArgsUsage) + assert.NotNil(t, cmd.Action) +} + +func TestMembersDeleteHasConfirmFlag(t *testing.T) { + for _, flag := range CmdTeamsMembersDelete.Flags { + if flag.Names()[0] == "confirm" { + return + } + } + t.Fatal("expected --confirm flag on members delete") +}