52 lines
1.5 KiB
Go
52 lines
1.5 KiB
Go
// 媒体反推任务范围测试,确保单分镜任务不会污染剧集或项目的总处理状态。
|
|
package worker
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
// TestIsWholeVideoAnalysis 验证仅未绑定分镜的任务可更新反推范围总状态。
|
|
func TestIsWholeVideoAnalysis(t *testing.T) {
|
|
storyboardID := uuid.New()
|
|
tests := []struct {
|
|
name string
|
|
snapshot analysisSnapshot
|
|
want bool
|
|
}{
|
|
{name: "整段视频反推", snapshot: analysisSnapshot{}, want: true},
|
|
{name: "单分镜重新反推", snapshot: analysisSnapshot{StoryboardID: &storyboardID}, want: false},
|
|
}
|
|
|
|
for _, test := range tests {
|
|
t.Run(test.name, func(t *testing.T) {
|
|
if got := isWholeVideoAnalysis(test.snapshot); got != test.want {
|
|
t.Fatalf("isWholeVideoAnalysis() = %v, want %v", got, test.want)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
// TestRedrawStoryboardsReady 验证只有全部分镜提示词完整时才恢复剧本反推入口。
|
|
func TestRedrawStoryboardsReady(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
total int64
|
|
incomplete int64
|
|
want bool
|
|
}{
|
|
{name: "没有分镜", total: 0, incomplete: 0, want: false},
|
|
{name: "仍有失败分镜", total: 7, incomplete: 1, want: false},
|
|
{name: "全部分镜完整", total: 7, incomplete: 0, want: true},
|
|
}
|
|
|
|
for _, test := range tests {
|
|
t.Run(test.name, func(t *testing.T) {
|
|
if got := redrawStoryboardsReady(test.total, test.incomplete); got != test.want {
|
|
t.Fatalf("redrawStoryboardsReady(%d, %d) = %v, want %v", test.total, test.incomplete, got, test.want)
|
|
}
|
|
})
|
|
}
|
|
}
|