feat: game lobby service

This commit is contained in:
Ilia Denisov
2026-04-25 23:20:55 +02:00
committed by GitHub
parent 32dc29359a
commit 48b0056b49
336 changed files with 57074 additions and 1418 deletions
@@ -103,6 +103,30 @@ func TestEncoderEncodesSupportedPushNotificationTypes(t *testing.T) {
require.Equal(t, "user-10", event.InviteeUserID)
},
},
{
name: "lobby race name registration eligible",
notificationType: intentstream.NotificationTypeLobbyRaceNameRegistrationEligible,
payloadJSON: `{"eligible_until_ms":1775208100000,"game_id":"game-8","game_name":"Aurora","race_name":"Skylancer"}`,
assertPayload: func(t *testing.T, payload []byte) {
t.Helper()
event, err := transcoder.PayloadToLobbyRaceNameRegistrationEligibleEvent(payload)
require.NoError(t, err)
require.Equal(t, "game-8", event.GameID)
require.Equal(t, "Skylancer", event.RaceName)
require.Equal(t, int64(1775208100000), event.EligibleUntilMs)
},
},
{
name: "lobby race name registered",
notificationType: intentstream.NotificationTypeLobbyRaceNameRegistered,
payloadJSON: `{"race_name":"Skylancer"}`,
assertPayload: func(t *testing.T, payload []byte) {
t.Helper()
event, err := transcoder.PayloadToLobbyRaceNameRegisteredEvent(payload)
require.NoError(t, err)
require.Equal(t, "Skylancer", event.RaceName)
},
},
}
for _, tt := range tests {