diff options
| author | Paul Buetow <paul@buetow.org> | 2026-03-04 08:24:08 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-03-04 08:24:08 +0200 |
| commit | e6fca78646f96df0f0c6997c396073e5579c97ea (patch) | |
| tree | 3cf948f712f4c581f2da09ef445705e11fc3a8a6 | |
| parent | 992a2d5487e5bd033d1ab107478369b2818a2238 (diff) | |
tests: add black-box package API checks
| -rw-r--r-- | internal/config/blackbox_test.go | 17 | ||||
| -rw-r--r-- | internal/duration/blackbox_test.go | 18 | ||||
| -rw-r--r-- | internal/worktime/blackbox_test.go | 29 |
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]) + } +} |
