29 lines
582 B
Go
29 lines
582 B
Go
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
|
|
}
|