fix: 完成商务迁移复核与接口优化并清理历史资料
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
package system
|
||||
|
||||
import (
|
||||
"context"
|
||||
"kra/internal/biz/system"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestMediaEditsKeepUnchangedCategoryNameAndMapMissingFile(t *testing.T) {
|
||||
db, err := openWithDriver("sqlite", filepath.Join(t.TempDir(), "media.db"))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
pool, _ := db.DB()
|
||||
t.Cleanup(func() { _ = pool.Close() })
|
||||
if err := db.AutoMigrate(&mediaPO{}, &categoryPO{}); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
r := NewMediaRepo(&Data{gormDB: newReloadableDB(db, nil)})
|
||||
ctx := context.Background()
|
||||
category := &system.AttachmentCategory{Name: "screenshots"}
|
||||
if err := r.SaveCategory(ctx, category); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
var row categoryPO
|
||||
if err := db.First(&row).Error; err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
category.ID = row.ID
|
||||
if err := r.SaveCategory(ctx, category); err != nil {
|
||||
t.Fatalf("unchanged category rejected: %v", err)
|
||||
}
|
||||
if err := r.SaveCategory(ctx, &system.AttachmentCategory{Name: "screenshots"}); err == nil {
|
||||
t.Fatal("duplicate category accepted")
|
||||
}
|
||||
if err := r.UpdateMediaName(ctx, 999, "missing"); err != system.ErrMediaNotFound {
|
||||
t.Fatalf("missing file: %v", err)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user