This commit is contained in:
ponzischeme89
2026-08-17 07:34:23 +12:00
parent 93fb0fd728
commit 36cb1324fd
56 changed files with 1177 additions and 168 deletions
+28
View File
@@ -5,6 +5,34 @@ import (
"time"
)
func TestQuietTimeActiveHandlesDaytimeAndOvernightWindows(t *testing.T) {
location := time.FixedZone("NZST", 12*60*60)
at := func(hour, minute int) time.Time {
return time.Date(2026, time.August, 17, hour, minute, 0, 0, location)
}
tests := []struct {
name string
policy QuietTime
now time.Time
want bool
}{
{"disabled", QuietTime{StartTime: "23:00", EndTime: "07:00"}, at(23, 30), false},
{"overnight evening", QuietTime{Enabled: true, StartTime: "23:00", EndTime: "07:00"}, at(23, 0), true},
{"overnight morning", QuietTime{Enabled: true, StartTime: "23:00", EndTime: "07:00"}, at(6, 59), true},
{"overnight end exclusive", QuietTime{Enabled: true, StartTime: "23:00", EndTime: "07:00"}, at(7, 0), false},
{"daytime inside", QuietTime{Enabled: true, StartTime: "09:00", EndTime: "17:00"}, at(12, 0), true},
{"daytime outside", QuietTime{Enabled: true, StartTime: "09:00", EndTime: "17:00"}, at(18, 0), false},
{"equal endpoints are safe", QuietTime{Enabled: true, StartTime: "09:00", EndTime: "09:00"}, at(9, 0), false},
}
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
if got := QuietTimeActive(test.policy, test.now, location); got != test.want {
t.Fatalf("QuietTimeActive() = %v, want %v", got, test.want)
}
})
}
}
func TestRequestPolicyAllowsOnlyListedUsers(t *testing.T) {
policy := RequestPolicy{AllowedUserIDs: []string{"user-2"}}
if policy.Allows("user-1") {