Files
apskel-pos-backend/internal/processor/game_leaderboard_test.go
T

39 lines
1.2 KiB
Go
Raw Normal View History

2026-10-12 16:15:02 +07:00
package processor
import (
"testing"
"time"
"github.com/stretchr/testify/assert"
)
func TestMaskCustomerName(t *testing.T) {
for name, want := range map[string]string{
"Budi Santoso": "Budi S******",
"budi": "budi",
" Siti Nur Aisyah": "Siti N** A*****",
"Ádám Ő": "Ádám Ő",
"081234567890": "0***********",
"Budi2 Santoso": "B**** S******",
"": "Pemain",
" ": "Pemain",
} {
assert.Equal(t, want, maskCustomerName(name), "%q", name)
}
}
func TestLeaderboardWeekStart(t *testing.T) {
monday := time.Date(2026, 10, 12, 0, 0, 0, 0, walletDisplayLocation)
for _, day := range []time.Time{
monday,
time.Date(2026, 10, 14, 12, 0, 0, 0, walletDisplayLocation),
time.Date(2026, 10, 18, 23, 59, 59, 0, walletDisplayLocation),
// Sunday 17:00 UTC is already Monday 00:00 in Jakarta.
time.Date(2026, 10, 11, 17, 0, 0, 0, time.UTC),
} {
assert.True(t, monday.Equal(leaderboardWeekStart(day)), "%s", day)
}
// Sunday 16:59 UTC is still Sunday in Jakarta, the week before.
assert.True(t, monday.AddDate(0, 0, -7).Equal(leaderboardWeekStart(time.Date(2026, 10, 11, 16, 59, 0, 0, time.UTC))))
}