Files
wxapp-guantong/backend/cmd/smilefirst/main_test.go
T
2026-09-22 22:51:19 +08:00

46 lines
1.1 KiB
Go

package main
import (
"testing"
"github.com/rogeecn/wxapp-kouqiang-guahao/backend/internal/config"
"github.com/spf13/cobra"
)
func TestRootCommandDefaultsToServe(t *testing.T) {
cfg := config.Config{
Addr: ":9800",
DatabasePath: ":memory:",
SchemaPath: "migrations/schema.sql",
LogLevel: "info",
}
var calls []string
handlers := commandHandlers{
serve: func(cmd *cobra.Command, args []string) error {
calls = append(calls, "serve")
return nil
},
migrate: func(cmd *cobra.Command, args []string) error {
calls = append(calls, "migrate")
return nil
},
seed: func(cmd *cobra.Command, args []string) error {
calls = append(calls, "seed")
return nil
},
}
cmd := newRootCommand(&cfg, handlers)
cmd.SetArgs([]string{"--addr", "127.0.0.1:18080"})
if err := cmd.Execute(); err != nil {
t.Fatalf("execute root command: %v", err)
}
if len(calls) != 1 || calls[0] != "serve" {
t.Fatalf("calls = %v, want [serve]", calls)
}
if cfg.Addr != "127.0.0.1:18080" {
t.Fatalf("cfg.Addr = %q, want flag value", cfg.Addr)
}
}