0.2.71
This commit is contained in:
@@ -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") {
|
||||
|
||||
Reference in New Issue
Block a user