From 92cc3a79c4e134f6077ef51616d1d6815b4e15b3 Mon Sep 17 00:00:00 2001 From: Ken Hibino Date: Sun, 22 May 2022 16:20:11 -0700 Subject: [PATCH] (cli): Add more tests --- tools/asynq/cmd/dash/key_event_test.go | 43 +++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/tools/asynq/cmd/dash/key_event_test.go b/tools/asynq/cmd/dash/key_event_test.go index 2b2da17..2dbcf3c 100644 --- a/tools/asynq/cmd/dash/key_event_test.go +++ b/tools/asynq/cmd/dash/key_event_test.go @@ -32,11 +32,52 @@ type keyEventHandlerTest struct { func TestKeyEventHandler(t *testing.T) { tests := []*keyEventHandlerTest{ { - desc: "navigates to help page", + desc: "navigates to help view", state: &State{view: viewTypeQueues}, events: []*tcell.EventKey{tcell.NewEventKey(tcell.KeyRune, '?', tcell.ModNone)}, wantState: State{view: viewTypeHelp}, }, + { + desc: "navigates to queue details view", + state: &State{ + view: viewTypeQueues, + queues: []*asynq.QueueInfo{ + {Queue: "default", Size: 100, Active: 10, Pending: 40, Scheduled: 40, Completed: 10}, + }, + queueTableRowIdx: 0, + }, + events: []*tcell.EventKey{ + tcell.NewEventKey(tcell.KeyRune, 'j', tcell.ModNone), // down + tcell.NewEventKey(tcell.KeyEnter, '\n', tcell.ModNone), // Enter + }, + wantState: State{ + view: viewTypeQueueDetails, + queues: []*asynq.QueueInfo{ + {Queue: "default", Size: 100, Active: 10, Pending: 40, Scheduled: 40, Completed: 10}, + }, + selectedQueue: &asynq.QueueInfo{Queue: "default", Size: 100, Active: 10, Pending: 40, Scheduled: 40, Completed: 10}, + queueTableRowIdx: 1, + taskState: asynq.TaskStateActive, + pageNum: 1, + }, + }, + { + desc: "does nothing if no queues are present", + state: &State{ + view: viewTypeQueues, + queues: []*asynq.QueueInfo{}, // empty + queueTableRowIdx: 0, + }, + events: []*tcell.EventKey{ + tcell.NewEventKey(tcell.KeyRune, 'j', tcell.ModNone), // down + tcell.NewEventKey(tcell.KeyEnter, '\n', tcell.ModNone), // Enter + }, + wantState: State{ + view: viewTypeQueues, + queues: []*asynq.QueueInfo{}, + queueTableRowIdx: 0, + }, + }, // TODO: Add more tests }