MCPcopy
hub / github.com/cli/cli / TestNewCmdDelete

Function TestNewCmdDelete

pkg/cmd/project/delete/delete_test.go:14–82  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

12)
13
14func TestNewCmdDelete(t *testing.T) {
15 tests := []struct {
16 name string
17 cli string
18 wants deleteOpts
19 wantsErr bool
20 wantsErrMsg string
21 wantsExporter bool
22 }{
23 {
24 name: "not-a-number",
25 cli: "x",
26 wantsErr: true,
27 wantsErrMsg: "invalid number: x",
28 },
29 {
30 name: "number",
31 cli: "123",
32 wants: deleteOpts{
33 number: 123,
34 },
35 },
36 {
37 name: "owner",
38 cli: "--owner monalisa",
39 wants: deleteOpts{
40 owner: "monalisa",
41 },
42 },
43 {
44 name: "json",
45 cli: "--format json",
46 wantsExporter: true,
47 },
48 }
49
50 t.Setenv("GH_TOKEN", "auth-token")
51
52 for _, tt := range tests {
53 t.Run(tt.name, func(t *testing.T) {
54 ios, _, _, _ := iostreams.Test()
55 f := &cmdutil.Factory{
56 IOStreams: ios,
57 }
58
59 argv, err := shlex.Split(tt.cli)
60 assert.NoError(t, err)
61
62 var gotOpts deleteOpts
63 cmd := NewCmdDelete(f, func(config deleteConfig) error {
64 gotOpts = config.opts
65 return nil
66 })
67
68 cmd.SetArgs(argv)
69 _, err = cmd.ExecuteC()
70 if tt.wantsErr {
71 assert.Error(t, err)

Callers

nothing calls this directly

Calls 5

TestFunction · 0.92
EqualMethod · 0.80
NewCmdDeleteFunction · 0.70
RunMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected