70 lines
2.1 KiB
Go
70 lines
2.1 KiB
Go
package baishun
|
|
|
|
import "testing"
|
|
|
|
func TestUpdateExtExtraJSON(t *testing.T) {
|
|
raw := updateExtExtraJSON(`{"keep":"value"}`, map[string]any{
|
|
"sdkMode": "H5",
|
|
}, true)
|
|
|
|
if got := parseExtExtraJSON(raw)["keep"]; got != "value" {
|
|
t.Fatalf("extra keep = %v, want value", got)
|
|
}
|
|
|
|
cleared := updateExtExtraJSON(raw, map[string]any{}, true)
|
|
if params := launchParamsFromExtraJSON(cleared); params != nil {
|
|
t.Fatalf("launchParams after clear = %#v, want nil", params)
|
|
}
|
|
if got := parseExtExtraJSON(cleared)["keep"]; got != "value" {
|
|
t.Fatalf("extra keep after clear = %v, want value", got)
|
|
}
|
|
}
|
|
|
|
func TestUpdateExtExtraJSONWithGameType(t *testing.T) {
|
|
raw := updateExtExtraJSONWithGameType(`{"keep":"value"}`, map[string]any{
|
|
"sdkMode": "H5",
|
|
}, baishunVendorType, true)
|
|
|
|
params := launchParamsFromExtraJSON(raw)
|
|
if got := params["gameType"]; got != baishunVendorType {
|
|
t.Fatalf("launchParams[gameType] = %v, want %s", got, baishunVendorType)
|
|
}
|
|
if got := params["sdkMode"]; got != "H5" {
|
|
t.Fatalf("launchParams[sdkMode] = %v, want H5", got)
|
|
}
|
|
}
|
|
|
|
func TestLaunchParamsExposeToListAndAdmin(t *testing.T) {
|
|
raw := `{"launchParams":{"sdkMode":"H5"}}`
|
|
|
|
listItem := gameListRow{
|
|
ConfigID: 9527,
|
|
InternalGameID: "g-1",
|
|
VendorType: baishunVendorType,
|
|
VendorGameID: "1001",
|
|
LaunchMode: baishunLaunchModeRemote,
|
|
ExtExtraJSON: raw,
|
|
}.toListItem()
|
|
if got := listItem.ID; got != 9527 {
|
|
t.Fatalf("list id = %v, want 9527", got)
|
|
}
|
|
if got := listItem.GameType; got != baishunVendorType {
|
|
t.Fatalf("list gameType = %v, want %s", got, baishunVendorType)
|
|
}
|
|
if got := listItem.LaunchParams["gameType"]; got != baishunVendorType {
|
|
t.Fatalf("list launchParams[gameType] = %v, want %s", got, baishunVendorType)
|
|
}
|
|
|
|
adminItem := adminGameRow{
|
|
InternalGameID: "g-1",
|
|
VendorGameID: "1001",
|
|
ExtExtraJSON: raw,
|
|
}.toAdminItem()
|
|
if got := adminItem.GameType; got != baishunVendorType {
|
|
t.Fatalf("admin gameType = %v, want %s", got, baishunVendorType)
|
|
}
|
|
if got := adminItem.LaunchParams["sdkMode"]; got != "H5" {
|
|
t.Fatalf("admin launchParams[sdkMode] = %v, want H5", got)
|
|
}
|
|
}
|