package voiceroomrocket import ( "context" "testing" ) func TestSaveLevelConfigsPersistsPreviewRocketURL(t *testing.T) { service, _ := newTestService(t) ctx := context.Background() saved, err := service.SaveLevelConfigs(ctx, SaveLevelConfigsRequest{ SysOrigin: "LIKEI", Levels: []LevelConfigPayload{ { Level: 1, NeedEnergy: 100, ShakeThresholdPercent: "95.0000", PreviewRocketURL: "https://cdn.example.com/preview-rocket.png", RocketIconURL: "https://cdn.example.com/rocket-icon.png", RocketAnimationURL: "https://cdn.example.com/rocket-launch.svga", Enabled: true, Sort: 1, }, }, }) if err != nil { t.Fatalf("SaveLevelConfigs error = %v", err) } if len(saved) != 1 { t.Fatalf("saved level count = %d, want 1", len(saved)) } if saved[0].PreviewRocketURL != "https://cdn.example.com/preview-rocket.png" { t.Fatalf("previewRocketUrl = %q", saved[0].PreviewRocketURL) } listed, err := service.ListLevelConfigs(ctx, "LIKEI") if err != nil { t.Fatalf("ListLevelConfigs error = %v", err) } if len(listed) != 1 || listed[0].PreviewRocketURL != saved[0].PreviewRocketURL { t.Fatalf("listed levels = %+v", listed) } } func TestGetStatusReturnsRocketResourcesToApp(t *testing.T) { service, _ := newTestService(t) ctx := context.Background() _, err := service.SaveLevelConfigs(ctx, SaveLevelConfigsRequest{ SysOrigin: "LIKEI", Levels: []LevelConfigPayload{ { Level: 1, NeedEnergy: 100, ShakeThresholdPercent: "95.0000", PreviewRocketURL: "https://cdn.example.com/preview-rocket.png", RocketIconURL: "https://cdn.example.com/rocket-icon.png", RocketAnimationURL: "https://cdn.example.com/rocket-launch.svga", Enabled: true, Sort: 1, }, }, }) if err != nil { t.Fatalf("SaveLevelConfigs error = %v", err) } status, err := service.GetStatus(ctx, AuthUser{SysOrigin: "LIKEI"}, 9001) if err != nil { t.Fatalf("GetStatus error = %v", err) } if status.PreviewRocketURL != "https://cdn.example.com/preview-rocket.png" { t.Fatalf("status previewRocketUrl = %q", status.PreviewRocketURL) } if status.RocketIconURL != "https://cdn.example.com/rocket-icon.png" { t.Fatalf("status rocketIconUrl = %q", status.RocketIconURL) } if status.RocketAnimationURL != "https://cdn.example.com/rocket-launch.svga" { t.Fatalf("status rocketAnimationUrl = %q", status.RocketAnimationURL) } if len(status.Levels) != 1 || status.Levels[0].PreviewRocketURL != status.PreviewRocketURL { t.Fatalf("status levels = %+v", status.Levels) } }