feat: add object storage and points leaderboard

This commit is contained in:
richjohnrambo
2026-10-18 18:11:34 +08:00
parent bce5edfaf5
commit b79b781f15
24 changed files with 359 additions and 212 deletions
+3 -3
View File
@@ -153,15 +153,15 @@ func TestHomeUsesSettledSummaryAndSnakeCaseJSON(t *testing.T) {
func TestLeaderboardMasksUsernameAndAddsRank(t *testing.T) {
service := New(fakeRepository{leaders: []store.LeaderboardMember{
{MemberID: 7, Username: "风轻云淡", CompletedCount: 12},
{MemberID: 8, Username: "李明", CompletedCount: 9},
{MemberID: 7, Username: "风轻云淡", ClaimedPoints: 125800},
{MemberID: 8, Username: "李明", ClaimedPoints: 96000},
}})
items, err := service.Leaderboard(context.Background(), 1)
if err != nil {
t.Fatal(err)
}
if len(items) != 2 || items[0].Rank != 1 || items[0].Username != "风***淡" ||
items[1].Username != "李*" || items[1].Status != "领取成功" {
items[0].ClaimedPoints != 125800 || items[1].Username != "李*" || items[1].Status != "领取成功" {
t.Fatalf("unexpected leaderboard: %+v", items)
}
}