using Omika.Core.Compatibility;
using Omika.Core.Domain;
using Omika.Data.Configuration;
using Omika.Data.Connection;
using Omika.Data.HfSql.Audit;
namespace Omika.Tests.Repositories;
///
/// Tests du résolveur central d'audit utilisateur (HfSqlAuditUserResolver) :
/// priorité UserId (UT_PKID direct, sans requête), fallback CollaborateurId
/// (numérique → UT_PKID, GUID Omika, GUID synthétique Batik), et garantie que
/// l'on ne confond JAMAIS utilisateur et collaborateur.
///
public class HfSqlAuditUserResolverTests
{
private sealed class FakeConnection : IHfsqlConnection
{
public FakeConnection()
{
State = HfsqlConnectionState.Open;
}
public HfsqlOptions Options => new();
public HfsqlConnectionState State { get; private set; }
public List Queries { get; } = [];
public List> UtilisateurRows { get; } = [];
public Task OpenAsync(CancellationToken cancellationToken = default)
{
State = HfsqlConnectionState.Open;
return Task.CompletedTask;
}
public Task CloseAsync()
{
State = HfsqlConnectionState.Closed;
return Task.CompletedTask;
}
public ValueTask DisposeAsync() => ValueTask.CompletedTask;
public Task