MCPcopy Index your code
hub / github.com/coder/coder / TestExpTaskList

Function TestExpTaskList

cli/task_list_test.go:59–204  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

57}
58
59func TestExpTaskList(t *testing.T) {
60 t.Parallel()
61
62 t.Run("NoTasks_Table", func(t *testing.T) {
63 t.Parallel()
64
65 // Quiet logger to reduce noise.
66 quiet := slog.Make(sloghuman.Sink(io.Discard))
67 client, _ := coderdtest.NewWithDatabase(t, &coderdtest.Options{Logger: &quiet})
68 owner := coderdtest.CreateFirstUser(t, client)
69 memberClient, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
70
71 inv, root := clitest.New(t, "task", "list")
72 clitest.SetupConfig(t, memberClient, root)
73
74 pty := ptytest.New(t).Attach(inv)
75 ctx := testutil.Context(t, testutil.WaitShort)
76
77 err := inv.WithContext(ctx).Run()
78 require.NoError(t, err)
79
80 pty.ExpectMatch("No tasks found.")
81 })
82
83 t.Run("Single_Table", func(t *testing.T) {
84 t.Parallel()
85
86 // Quiet logger to reduce noise.
87 quiet := slog.Make(sloghuman.Sink(io.Discard))
88 client, db := coderdtest.NewWithDatabase(t, &coderdtest.Options{Logger: &quiet})
89 owner := coderdtest.CreateFirstUser(t, client)
90 memberClient, memberUser := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
91
92 wantPrompt := "build me a web app"
93 task := makeAITask(t, db, owner.OrganizationID, owner.UserID, memberUser.ID, database.WorkspaceTransitionStart, wantPrompt)
94
95 inv, root := clitest.New(t, "task", "list", "--column", "id,name,status,initial prompt")
96 clitest.SetupConfig(t, memberClient, root)
97
98 pty := ptytest.New(t).Attach(inv)
99 ctx := testutil.Context(t, testutil.WaitShort)
100
101 err := inv.WithContext(ctx).Run()
102 require.NoError(t, err)
103
104 // Validate the table includes the task and status.
105 pty.ExpectMatch(task.Name)
106 pty.ExpectMatch("initializing")
107 pty.ExpectMatch(wantPrompt)
108 })
109
110 t.Run("StatusFilter_JSON", func(t *testing.T) {
111 t.Parallel()
112
113 // Quiet logger to reduce noise.
114 quiet := slog.Make(sloghuman.Sink(io.Discard))
115 client, db := coderdtest.NewWithDatabase(t, &coderdtest.Options{Logger: &quiet})
116 owner := coderdtest.CreateFirstUser(t, client)

Callers

nothing calls this directly

Calls 15

NewWithDatabaseFunction · 0.92
CreateFirstUserFunction · 0.92
CreateAnotherUserFunction · 0.92
NewFunction · 0.92
SetupConfigFunction · 0.92
NewFunction · 0.92
ContextFunction · 0.92
FilterFunction · 0.92
makeAITaskFunction · 0.85
WithContextMethod · 0.80
RunMethod · 0.65
AttachMethod · 0.65

Tested by

no test coverage detected