Files
task-master/internal/ticket/board_test.go
T
SkrueckenandCursor 24c1e146ec Add offline-first task-master TUI with tickets, board lists, and undo.
Charm-based CLI with JSON persistence, status/list filters, external editor editing, command-history undo/redo, and glamour markdown without AutoStyle OSC hangs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-19 10:21:48 +02:00

44 lines
1.1 KiB
Go

package ticket_test
import (
"testing"
"task/internal/ticket"
)
func TestBoardListMatches(t *testing.T) {
cases := []struct {
list ticket.BoardList
status ticket.Status
want bool
}{
{ticket.BoardAll, ticket.StatusTodo, true},
{ticket.BoardAll, ticket.StatusDone, true},
{ticket.BoardBacklog, ticket.StatusTodo, true},
{ticket.BoardBacklog, ticket.StatusInProgress, false},
{ticket.BoardInProgress, ticket.StatusInProgress, true},
{ticket.BoardDone, ticket.StatusDone, true},
{ticket.BoardDone, ticket.StatusTodo, false},
}
for _, tc := range cases {
if got := tc.list.Matches(tc.status); got != tc.want {
t.Errorf("%s.Matches(%s) = %v, want %v", tc.list, tc.status, got, tc.want)
}
}
}
func TestBoardListDefaultStatus(t *testing.T) {
if ticket.BoardBacklog.DefaultStatus() != ticket.StatusTodo {
t.Fatal("backlog default")
}
if ticket.BoardInProgress.DefaultStatus() != ticket.StatusInProgress {
t.Fatal("in progress default")
}
if ticket.BoardDone.DefaultStatus() != ticket.StatusDone {
t.Fatal("done default")
}
if ticket.BoardAll.DefaultStatus() != ticket.StatusTodo {
t.Fatal("all default")
}
}