< Summary - Syki

Information
Class: Syki.Back.Extensions.FluentValidationExtensions
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Extensions/FluentValidationExtensions.cs
Tag: 21_17346963026
Line coverage
100%
Covered lines: 10
Uncovered lines: 0
Coverable lines: 10
Total lines: 32
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
Run(...)100%22100%
WithError(...)100%11100%

File(s)

/home/runner/work/syki/syki/Back/Extensions/FluentValidationExtensions.cs

#LineLine coverage
 1namespace Syki.Back.Extensions;
 2
 3public static class FluentValidationExtensions
 4{
 5    extension<T>(AbstractValidator<T> validator)
 6    {
 7        public bool Run(T data, out SykiError error)
 8        {
 15409            var result = validator.Validate(data);
 10
 154011            if (result.IsValid)
 12            {
 149413                error = default!;
 149414                return false;
 15            }
 16
 4617            error = (result.Errors.First().CustomState as SykiError)!;
 4618            return true;
 19        }
 20    }
 21
 22    extension<T, TProperty>(IRuleBuilderOptions<T, TProperty> ruleBuilder)
 23    {
 24        public IRuleBuilderOptions<T, TProperty> WithError(SykiError error)
 25        {
 4026            return ruleBuilder
 4027                .WithErrorCode(error.Code)
 4028                .WithMessage(error.Message)
 8629                .WithState(_ => error);
 30        }
 31    }
 32}