summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-04 08:24:08 +0200
committerPaul Buetow <paul@buetow.org>2026-03-04 08:24:08 +0200
commite6fca78646f96df0f0c6997c396073e5579c97ea (patch)
tree3cf948f712f4c581f2da09ef445705e11fc3a8a6
parent992a2d5487e5bd033d1ab107478369b2818a2238 (diff)
tests: add black-box package API checks
-rw-r--r--internal/config/blackbox_test.go17
-rw-r--r--internal/duration/blackbox_test.go18
-rw-r--r--internal/worktime/blackbox_test.go29
3 files changed, 64 insertions, 0 deletions
diff --git a/internal/config/blackbox_test.go b/internal/config/blackbox_test.go
new file mode 100644
index 0000000..0d97660
--- /dev/null
+++ b/internal/config/blackbox_test.go
@@ -0,0 +1,17 @@
+package config_test
+
+import (
+ "testing"
+
+ "codeberg.org/snonux/timr/internal/config"
+)
+
+func TestDefaultPublicAPI(t *testing.T) {
+ cfg := config.Default()
+ if cfg.WeekWorkHours <= 0 {
+ t.Fatalf("WeekWorkHours = %v, want positive value", cfg.WeekWorkHours)
+ }
+ if cfg.WorktimeDBDir == "" {
+ t.Fatal("WorktimeDBDir is empty")
+ }
+}
diff --git a/internal/duration/blackbox_test.go b/internal/duration/blackbox_test.go
new file mode 100644
index 0000000..87fa9dc
--- /dev/null
+++ b/internal/duration/blackbox_test.go
@@ -0,0 +1,18 @@
+package duration_test
+
+import (
+ "testing"
+ "time"
+
+ "codeberg.org/snonux/timr/internal/duration"
+)
+
+func TestParsePublicAPI(t *testing.T) {
+ got, err := duration.Parse("90m")
+ if err != nil {
+ t.Fatalf("Parse() error = %v", err)
+ }
+ if got != 90*time.Minute {
+ t.Fatalf("Parse() = %v, want %v", got, 90*time.Minute)
+ }
+}
diff --git a/internal/worktime/blackbox_test.go b/internal/worktime/blackbox_test.go
new file mode 100644
index 0000000..51ae635
--- /dev/null
+++ b/internal/worktime/blackbox_test.go
@@ -0,0 +1,29 @@
+package worktime_test
+
+import (
+ "testing"
+ "time"
+
+ "codeberg.org/snonux/timr/internal/worktime"
+)
+
+func TestAddAndLoadAllPublicAPI(t *testing.T) {
+ dbDir := t.TempDir()
+ host := "host-a"
+
+ _, err := worktime.Add(dbDir, host, "work", 30*time.Minute, time.Unix(100, 0), "public api")
+ if err != nil {
+ t.Fatalf("Add() error = %v", err)
+ }
+
+ entries, err := worktime.LoadAll(dbDir)
+ if err != nil {
+ t.Fatalf("LoadAll() error = %v", err)
+ }
+ if len(entries) != 1 {
+ t.Fatalf("entries len = %d, want 1", len(entries))
+ }
+ if entries[0].Action != "add" || entries[0].What != "work" {
+ t.Fatalf("unexpected entry: %+v", entries[0])
+ }
+}