MCPcopy Index your code
hub / github.com/cli/cli / TestNewCmdDeleteField

Function TestNewCmdDeleteField

pkg/cmd/project/field-delete/field_delete_test.go:14–77  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 5

TestFunction · 0.92
NewCmdDeleteFieldFunction · 0.85
EqualMethod · 0.80
RunMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected