summaryrefslogtreecommitdiff
path: root/internal/timer/operations_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/timer/operations_test.go')
-rw-r--r--internal/timer/operations_test.go70
1 files changed, 70 insertions, 0 deletions
diff --git a/internal/timer/operations_test.go b/internal/timer/operations_test.go
index 39029b0..dc06941 100644
--- a/internal/timer/operations_test.go
+++ b/internal/timer/operations_test.go
@@ -108,6 +108,76 @@ func TestGetStatus(t *testing.T) {
}
}
+func TestGetRawStatus(t *testing.T) {
+ setup(t)
+
+ // Raw status when stopped
+ msg, err := GetRawStatus()
+ if err != nil {
+ t.Fatalf("GetRawStatus() error = %v", err)
+ }
+ want := "0"
+ if msg != want {
+ t.Errorf("GetRawStatus() msg = %q, want %q", msg, want)
+ }
+
+ // Raw status when running
+ state, err := LoadState()
+ if err != nil {
+ t.Fatalf("LoadState() error = %v", err)
+ }
+ state.Running = true
+ state.StartTime = time.Now().Add(-2 * time.Second) // Set start time 2 seconds ago
+ state.ElapsedTime = 0 // Reset elapsed time for this specific test
+ if err := state.Save(); err != nil {
+ t.Fatalf("Save() error = %v", err)
+ }
+
+ msg, err = GetRawStatus()
+ if err != nil {
+ t.Fatalf("GetRawStatus() error = %v", err)
+ }
+ want = "2"
+ if msg != want {
+ t.Errorf("GetRawStatus() msg = %q, want %q", msg, want)
+ }
+}
+
+func TestGetRawMinutesStatus(t *testing.T) {
+ setup(t)
+
+ // Raw minutes status when stopped
+ msg, err := GetRawMinutesStatus()
+ if err != nil {
+ t.Fatalf("GetRawMinutesStatus() error = %v", err)
+ }
+ want := "0"
+ if msg != want {
+ t.Errorf("GetRawMinutesStatus() msg = %q, want %q", msg, want)
+ }
+
+ // Raw minutes status when running (simulating 2 minutes)
+ state, err := LoadState()
+ if err != nil {
+ t.Fatalf("LoadState() error = %v", err)
+ }
+ state.Running = true
+ state.StartTime = time.Now().Add(-2 * time.Minute) // Set start time 2 minutes ago
+ state.ElapsedTime = 0 // Reset elapsed time for this specific test
+ if err := state.Save(); err != nil {
+ t.Fatalf("Save() error = %v", err)
+ }
+
+ msg, err = GetRawMinutesStatus()
+ if err != nil {
+ t.Fatalf("GetRawMinutesStatus() error = %v", err)
+ }
+ want = "2"
+ if msg != want {
+ t.Errorf("GetRawMinutesStatus() msg = %q, want %q", msg, want)
+ }
+}
+
func TestResetTimer(t *testing.T) {
setup(t)