Skip to content

Commit 3b8f9ca

Browse files
committed
test: add tests for GetStatusOrder()
1 parent a5b60ee commit 3b8f9ca

1 file changed

Lines changed: 34 additions & 0 deletions

File tree

internal/models/daily/items_test.go

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,40 @@ func TestFilterRolloverTasks(t *testing.T) {
106106
}
107107
}
108108

109+
func TestGetStatusOrder(t *testing.T) {
110+
tests := []struct {
111+
name string
112+
status enums.TaskStatus
113+
want int
114+
}{
115+
{"started is first", enums.Started, 0},
116+
{"pending is second", enums.Pending, 1},
117+
{"abandoned is third", enums.Abandoned, 2},
118+
{"complete is last", enums.Complete, 3},
119+
{"unknown status returns 4", enums.TaskStatus(99), 4},
120+
}
121+
122+
for _, tt := range tests {
123+
t.Run(tt.name, func(t *testing.T) {
124+
got := getStatusOrder(tt.status)
125+
if got != tt.want {
126+
t.Errorf("getStatusOrder(%d) = %d, want %d", tt.status, got, tt.want)
127+
}
128+
})
129+
}
130+
131+
// Verify relative ordering: Started < Pending < Abandoned < Complete
132+
if getStatusOrder(enums.Started) >= getStatusOrder(enums.Pending) {
133+
t.Error("Started should sort before Pending")
134+
}
135+
if getStatusOrder(enums.Pending) >= getStatusOrder(enums.Abandoned) {
136+
t.Error("Pending should sort before Abandoned")
137+
}
138+
if getStatusOrder(enums.Abandoned) >= getStatusOrder(enums.Complete) {
139+
t.Error("Abandoned should sort before Complete")
140+
}
141+
}
142+
109143
func TestFindMostRecentFile(t *testing.T) {
110144
tests := []struct {
111145
name string

0 commit comments

Comments
 (0)