I have created a simple action filter in my ASP.NET Core application, this action filter is suppose to log user's activity:
public class AuditAttribute : IResultFilter
{
private readonly IAuditService _audit;
private readonly IUnitOfWork _uow;
public AuditAttribute(IAuditService audit, IUnitOfWork uow)
{
_audit = audit;
_uow = uow;
}
public void OnResultExecuting(ResultExecutingContext context)
{
ar model = new Audit
{
UserName = context.HttpContext.User,
//...
};
_audit.Add(model);
_uow.SaveChanges();
}
public void OnResultExecuted(ResultExecutedContext context)
{
}
}
Now I just wanted to know how can I write unit tests for it. I'm using xUnit and Mock