package handlers

import (
	"os"
	"testing"

	"github.com/gin-gonic/gin"

	"switchboard-core/database"

	_ "modernc.org/sqlite" // register sqlite driver for DB_DRIVER=sqlite
)

// TestMain sets up the test DB (if available) and runs all tests.
// DB-dependent tests call database.RequireTestDB(t) to skip gracefully
// when no DB is configured.
//
// Set DB_DRIVER=sqlite to run against SQLite instead of Postgres.
func TestMain(m *testing.M) {
	gin.SetMode(gin.TestMode)

	teardown := database.SetupTestDB()
	code := m.Run()
	teardown()
	os.Exit(code)
}
