fix: use range assertion for time-sensitive ExpiresInDays test

The test could flake depending on exact execution time near midnight
boundaries. Use a range check (29 or 30) instead of exact equality.
This commit is contained in:
erio
2026-03-06 01:07:28 +08:00
parent 02dea7b09b
commit 77701143bf

View File

@@ -34,7 +34,7 @@ func TestCalculateProgress_BasicFields(t *testing.T) {
assert.Equal(t, int64(100), progress.ID) assert.Equal(t, int64(100), progress.ID)
assert.Equal(t, "Premium", progress.GroupName) assert.Equal(t, "Premium", progress.GroupName)
assert.Equal(t, sub.ExpiresAt, progress.ExpiresAt) assert.Equal(t, sub.ExpiresAt, progress.ExpiresAt)
assert.Equal(t, 29, progress.ExpiresInDays) // 约 30 天 assert.True(t, progress.ExpiresInDays == 29 || progress.ExpiresInDays == 30, "ExpiresInDays should be 29 or 30, got %d", progress.ExpiresInDays)
assert.Nil(t, progress.Daily, "无日限额时 Daily 应为 nil") assert.Nil(t, progress.Daily, "无日限额时 Daily 应为 nil")
assert.Nil(t, progress.Weekly, "无周限额时 Weekly 应为 nil") assert.Nil(t, progress.Weekly, "无周限额时 Weekly 应为 nil")
assert.Nil(t, progress.Monthly, "无月限额时 Monthly 应为 nil") assert.Nil(t, progress.Monthly, "无月限额时 Monthly 应为 nil")