81 lines
2.3 KiB
Go
81 lines
2.3 KiB
Go
package router
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"chatapp3-golang/internal/service/gameprovider"
|
|
)
|
|
|
|
func TestPublicRoomGameListResponseKeepsLegacyProviderFields(t *testing.T) {
|
|
resp := publicRoomGameListResponse(&gameprovider.RoomGameListResponse{
|
|
Items: []gameprovider.RoomGameListItem{
|
|
{
|
|
ID: 9527,
|
|
GameID: "bs_1046",
|
|
GameType: "BAISHUN",
|
|
Provider: "BAISHUN",
|
|
ProviderGameID: "1046",
|
|
Name: "Lucky77Pro",
|
|
},
|
|
},
|
|
})
|
|
|
|
if len(resp.Items) != 1 {
|
|
t.Fatalf("items = %d, want 1", len(resp.Items))
|
|
}
|
|
item := resp.Items[0]
|
|
if item.Provider != "BAISHUN" {
|
|
t.Fatalf("provider = %q, want BAISHUN", item.Provider)
|
|
}
|
|
if item.VendorType != "BAISHUN" {
|
|
t.Fatalf("vendorType = %q, want BAISHUN", item.VendorType)
|
|
}
|
|
if item.ProviderGameID != "1046" {
|
|
t.Fatalf("providerGameId = %q, want 1046", item.ProviderGameID)
|
|
}
|
|
if item.VendorGameID != "1046" {
|
|
t.Fatalf("vendorGameId = %q, want 1046", item.VendorGameID)
|
|
}
|
|
}
|
|
|
|
func TestPublicLaunchKeepsLegacyBridgeAndProviderFields(t *testing.T) {
|
|
launchConfig := map[string]any{"code": "launch-code"}
|
|
resp := publicLaunch(&gameprovider.LaunchResponse{
|
|
ID: 9527,
|
|
GameSessionID: "bs_room_1",
|
|
Provider: "BAISHUN",
|
|
GameID: "bs_1046",
|
|
ProviderGameID: "1046",
|
|
LaunchConfig: launchConfig,
|
|
RoomState: gameprovider.RoomStateResponse{
|
|
RoomID: "room-1",
|
|
State: "PLAYING",
|
|
Provider: "BAISHUN",
|
|
CurrentProviderGameID: "1046",
|
|
},
|
|
})
|
|
|
|
if resp.Provider != "BAISHUN" {
|
|
t.Fatalf("provider = %q, want BAISHUN", resp.Provider)
|
|
}
|
|
if resp.VendorType != "BAISHUN" {
|
|
t.Fatalf("vendorType = %q, want BAISHUN", resp.VendorType)
|
|
}
|
|
if resp.VendorGameID != "1046" {
|
|
t.Fatalf("vendorGameId = %q, want 1046", resp.VendorGameID)
|
|
}
|
|
bridgeConfig, ok := resp.BridgeConfig.(map[string]any)
|
|
if !ok {
|
|
t.Fatalf("bridgeConfig type = %T, want map[string]any", resp.BridgeConfig)
|
|
}
|
|
if got := bridgeConfig["code"]; got != "launch-code" {
|
|
t.Fatalf("bridgeConfig[code] = %v, want launch-code", got)
|
|
}
|
|
if resp.RoomState.Provider != "BAISHUN" {
|
|
t.Fatalf("roomState.provider = %q, want BAISHUN", resp.RoomState.Provider)
|
|
}
|
|
if resp.RoomState.CurrentVendorGameID != "1046" {
|
|
t.Fatalf("roomState.currentVendorGameId = %q, want 1046", resp.RoomState.CurrentVendorGameID)
|
|
}
|
|
}
|