Files
kra-new/internal/data/system/media_edit_test.go
T

41 lines
1.1 KiB
Go

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