< Summary - ZhEaIsNsAaBn.Libraries coverage (affected: 23 packages)

Information
Class: ZhEaIsNsAaBn.Utilities.APIExceptionHandlers.ValidationExceptionHandler
Assembly: ZhEaIsNsAaBn.Utilities.APIExceptionHandlers
File(s): /home/runner/work/ZhEaIsNsAaBn.Libraries.V1/ZhEaIsNsAaBn.Libraries.V1/src/UtilitiesPackages/ZhEaIsNsAaBn.Utilities.APIExceptionHandlers/GlobalHandlers/ValidationExceptionHandler.cs
Line coverage
100%
Covered lines: 10
Uncovered lines: 0
Coverable lines: 10
Total lines: 40
Line coverage: 100%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
TryHandleAsync()100%22100%

File(s)

/home/runner/work/ZhEaIsNsAaBn.Libraries.V1/ZhEaIsNsAaBn.Libraries.V1/src/UtilitiesPackages/ZhEaIsNsAaBn.Utilities.APIExceptionHandlers/GlobalHandlers/ValidationExceptionHandler.cs

#LineLine coverage
 1using FluentValidation;
 2using Microsoft.Extensions.Options;
 3
 4namespace ZhEaIsNsAaBn.Utilities.APIExceptionHandlers;
 5
 6/// <summary>
 7/// Handles FluentValidation's <see cref="ValidationException"/>: one error per failure (code = property name, category
 8/// <c>Validation</c>, default 400).
 9/// </summary>
 10public sealed class ValidationExceptionHandler : BaseExceptionHandler<ValidationExceptionHandler>, IExceptionHandler
 11{
 12    /// <summary>Creates the handler.</summary>
 13    /// <param name="logger">The logger.</param>
 14    /// <param name="environment">The host environment.</param>
 15    /// <param name="settings">The status mapping.</param>
 16    public ValidationExceptionHandler( ILogger<ValidationExceptionHandler> logger, IWebHostEnvironment environment, IOpt
 19217        : base( logger, environment, settings ) { }
 18
 19
 20    /// <inheritdoc />
 21    public async ValueTask<bool> TryHandleAsync( HttpContext httpContext, Exception exception, CancellationToken cancell
 22    {
 8423        ArgumentNullException.ThrowIfNull( httpContext );
 24
 15625        if ( exception is not ValidationException validationException ) { return false; }
 26
 27
 1228        Log.ValidationError( Logger, validationException, httpContext.Request.Path, httpContext.Request.Method, httpCont
 29
 30
 1231        var errors = validationException.Errors
 1232                                        .Select( failure => new Error( failure.PropertyName, "Validation", failure.Error
 1233                                        .ToList();
 34
 35
 1236        await GenerateErrors( httpContext, errors, cancellationToken ).ConfigureAwait( false );
 37
 1238        return true;
 8439    }
 40}