package db import ( "context" "path/filepath" "testing" ) func TestOpenAndMigrate(t *testing.T) { ctx := context.Background() dbPath := filepath.Join(t.TempDir(), "test_ada.db") database, err := Open(ctx, dbPath, true) if err != nil { t.Fatalf("Open failed: %v", err) } defer database.Close() // Re-running Migrate must be idempotent if err := database.Migrate(ctx); err != nil { t.Fatalf("second Migrate failed: %v", err) } if !database.IsRegistrationEnabled(ctx, false) { t.Fatalf("expected registration_enabled to be seeded as true") } if err := database.SetRegistrationEnabled(ctx, false); err != nil { t.Fatalf("SetRegistrationEnabled failed: %v", err) } if database.IsRegistrationEnabled(ctx, true) { t.Fatalf("expected registration_enabled to be false after update") } var fk int if err := database.QueryRowContext(ctx, "PRAGMA foreign_keys;").Scan(&fk); err != nil { t.Fatalf("query foreign_keys pragma: %v", err) } if fk != 1 { t.Fatalf("expected foreign_keys = 1, got %d", fk) } }