package configs import ( "testing" "gorm.io/driver/sqlite" "gorm.io/gorm" ) func TestRunAutoMigrateRequiresDB(t *testing.T) { prev := DB DB = nil t.Cleanup(func() { DB = prev }) if err := RunAutoMigrate(); err == nil { t.Fatalf("expected error when DB is nil") } } func TestRunAutoMigrateSuccess(t *testing.T) { prev := DB dsn := "file:" + t.Name() + "?mode=memory&cache=shared" db, err := gorm.Open(sqlite.Open(dsn), &gorm.Config{}) if err != nil { t.Fatalf("sqlite open failed: %v", err) } DB = db t.Cleanup(func() { if sqlDB, err := db.DB(); err == nil { _ = sqlDB.Close() } DB = prev }) if err := RunAutoMigrate(); err != nil { t.Fatalf("RunAutoMigrate failed: %v", err) } if !DB.Migrator().HasTable("users") { t.Fatalf("expected users table after migration") } if !DB.Migrator().HasTable("refresh_tokens") { t.Fatalf("expected refresh_tokens table after migration") } } func TestSeedSecurityDefaults(t *testing.T) { if err := SeedSecurityDefaults(); err != nil { t.Fatalf("SeedSecurityDefaults should not fail: %v", err) } }