summaryrefslogtreecommitdiff
path: root/internal/task/stats_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/task/stats_test.go')
-rw-r--r--internal/task/stats_test.go28
1 files changed, 28 insertions, 0 deletions
diff --git a/internal/task/stats_test.go b/internal/task/stats_test.go
new file mode 100644
index 0000000..fddbd69
--- /dev/null
+++ b/internal/task/stats_test.go
@@ -0,0 +1,28 @@
+package task
+
+import (
+ "testing"
+ "time"
+)
+
+func TestStats(t *testing.T) {
+ now := time.Now()
+ tasks := []Task{
+ {Description: "t1"},
+ {Description: "t2", Start: "20240101T000000Z"},
+ {Description: "t3", Due: now.Add(-time.Hour).Format("20060102T150405Z")},
+ {Description: "t4", Start: "20240101T000000Z", Due: now.Add(-time.Hour).Format("20060102T150405Z")},
+ }
+
+ if TotalTasks(tasks) != 4 {
+ t.Errorf("total tasks wrong: %d", TotalTasks(tasks))
+ }
+
+ if InProgressTasks(tasks) != 2 {
+ t.Errorf("in progress wrong: %d", InProgressTasks(tasks))
+ }
+
+ if DueTasks(tasks, now) != 2 {
+ t.Errorf("due tasks wrong: %d", DueTasks(tasks, now))
+ }
+}