2026-05-16 06:13:15 +08:00

56 lines
1.4 KiB
Go

package voiceroomrocket
import (
"context"
"testing"
"time"
"chatapp3-golang/internal/model"
)
func TestGetStatusDisabledDoesNotInitRoomStatus(t *testing.T) {
service, db := newTestService(t)
ctx := context.Background()
now := time.Now()
if err := db.Create(&model.VoiceRoomRocketConfig{
ID: 1,
SysOrigin: "LIKEI",
Enabled: false,
Timezone: "Asia/Riyadh",
MaxLevel: 6,
RankingTopLimit: 100,
RewardRecordKeepDays: 35,
BroadcastDurationSeconds: 7,
InRoomRewardDelaySeconds: 10,
CreateTime: now,
UpdateTime: now,
}).Error; err != nil {
t.Fatalf("create config: %v", err)
}
resp, err := service.GetStatus(ctx, AuthUser{SysOrigin: "LIKEI"}, 9001)
if err != nil {
t.Fatalf("GetStatus error = %v", err)
}
if resp.Enabled {
t.Fatalf("enabled = true, want false")
}
if !resp.Configured {
t.Fatalf("configured = false, want true")
}
if resp.Status != statusDisabled {
t.Fatalf("status = %q, want %q", resp.Status, statusDisabled)
}
if len(resp.Levels) != 0 {
t.Fatalf("levels len = %d, want 0", len(resp.Levels))
}
var statusCount int64
if err := db.Model(&model.VoiceRoomRocketStatus{}).Count(&statusCount).Error; err != nil {
t.Fatalf("count status: %v", err)
}
if statusCount != 0 {
t.Fatalf("status rows = %d, want 0", statusCount)
}
}