<?php
require __DIR__ . '/../bootstrap.php';

use Gestoreasy\Core\Audit\AuditLogger;

function assertTrue($cond, $msg) { if (!$cond) { echo "FAIL: $msg\n"; exit(1); } }

// Teste mínimo: logUpdate não deve lançar exceção mesmo sem DB
$old = ['nome' => 'Cliente A', 'tipo' => 'PF', 'cpf' => '00000000000'];
$new = ['nome' => 'Cliente A+','tipo' => 'PF', 'cpf' => '00000000000'];

try {
    AuditLogger::logUpdate('clients', 123, $old, $new, ['endpoint' => 'clientes.update', 'user_id' => 1]);
    echo "PASS: AuditLogger::logUpdate executou sem exceção.\n";
} catch (\Throwable $e) {
    echo "FAIL: AuditLogger::logUpdate lançou exceção: {$e->getMessage()}\n";
    exit(1);
}

// Teste mínimo: pruneOlderThan retorna inteiro mesmo sem DB
$deleted = AuditLogger::pruneOlderThan(30);
assertTrue(is_int($deleted), 'pruneOlderThan deve retornar inteiro');
echo "PASS: AuditLogger::pruneOlderThan retornou inteiro ($deleted).\n";