package db import ( "testing" "github.com/glebarez/sqlite" "gorm.io/gorm" "gorm.io/gorm/logger" ) // setupTestDB creates an in-memory SQLite database for testing. func setupTestDB(t *testing.T) *gorm.DB { t.Helper() d, err := gorm.Open(sqlite.Open(":memory:"), &gorm.Config{ Logger: logger.Default.LogMode(logger.Silent), }) if err != nil { t.Fatalf("open test db: %v", err) } if err := d.AutoMigrate( &SystemConfig{}, &EmailRecord{}, &Task{}, &TaskLog{}, &CardCode{}, &Card{}, &Account{}, ); err != nil { t.Fatalf("migrate: %v", err) } DB = d return d }