using ROLAC.API.Entities.Logging;
using ROLAC.API.Services.Logging;

namespace ROLAC.API.Tests.TestSupport;

/// <summary>No-op <see cref="IAuditLogger"/> for unit tests that don't assert on audit output.</summary>
public sealed class NullAuditLogger : IAuditLogger
{
    public static readonly NullAuditLogger Instance = new();

    public void Write(
        string action, string category, LogLevelEnum level = LogLevelEnum.Information,
        string? entityName = null, string? entityId = null, string? summary = null,
        object? before = null, object? after = null,
        string? userId = null, string? userEmail = null, string? ipAddress = null)
    {
        // intentionally empty
    }
}
