//go:build integration

package permissions_test

import (
	"fmt"
	"testing"

	"github.com/nexuscrm/backend/internal/infrastructure/database"
	"github.com/nexuscrm/shared/pkg/constants"
)

func TestInspectSchema(t *testing.T) {
	dbConn, err := database.GetInstance()
	if err != nil {
		t.Fatalf("Failed to get DB instance: %v", err)
	}
	db := dbConn.DB()

	inspectTable := func(tableName string) {
		rows, err := db.Query(fmt.Sprintf("SELECT * FROM %s LIMIT 0", tableName))
		if err != nil {
			t.Logf("Table %s query error: %v", tableName, err)
			return
		}
		defer rows.Close()
		cols, err := rows.Columns()
		if err != nil {
			t.Logf("Table %s columns error: %v", tableName, err)
			return
		}
		t.Logf("Table %s Columns: %v", tableName, cols)
	}

	inspectTable(constants.TableUserRole)
	inspectTable(constants.TableUser)
}
