2026-05-15 19:42:02 +08:00

86 lines
2.6 KiB
Go

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