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) } }