コード例 #1
0
        public void create_instance_from_errors()
        {
            var error  = "error";
            var errors = new List <string>()
            {
                error
            };

            var resultFromError        = CommandValidationResult.FromError(error);
            var resultFromErrorAsync   = CommandValidationResult.FromErrorAsync(error).Result;
            var resultFromErrorIAsync  = CommandValidationResult.FromErrorIAsync(error).Result;
            var resultFromErrors       = CommandValidationResult.FromErrors(errors);
            var resultFromErrorsAsync  = CommandValidationResult.FromErrorsAsync(errors).Result;
            var resultFromErrorsIAsync = CommandValidationResult.FromErrorsIAsync(errors).Result;

            Assert.False(resultFromError.IsValid);
            Assert.False(resultFromErrorAsync.IsValid);
            Assert.False(resultFromErrorIAsync.IsValid);
            Assert.False(resultFromErrors.IsValid);
            Assert.False(resultFromErrorsAsync.IsValid);
            Assert.False(resultFromErrorsIAsync.IsValid);

            Assert.Contains(error, resultFromError.Errors);
            Assert.Contains(error, resultFromErrorAsync.Errors);
            Assert.Contains(error, resultFromErrorIAsync.Errors);
            Assert.Contains(error, resultFromErrors.Errors);
            Assert.Contains(error, resultFromErrorsAsync.Errors);
            Assert.Contains(error, resultFromErrorsIAsync.Errors);
        }
コード例 #2
0
        public void construct_with_defaults()
        {
            var result = new CommandValidationResult();

            Assert.True(result.IsValid);
            Assert.Empty(result.Errors);
        }
コード例 #3
0
        public virtual CommandValidationResult Validate()
        {
            var result = new CommandValidationResult();

            if (Modifiers != null && Modifiers.Any())
            {
                var allParametersDistinct = Modifiers.GroupBy(it => it.Name);
                if (allParametersDistinct.Count() != Modifiers.Length)
                {
                    result.IsValid           = false;
                    result.ValidationMessage = "Invalid command modifiers: duplicates found";
                }
                var archivists = GetAssociatedArchivists();
                foreach (var parameter in Modifiers)
                {
                    if (!archivists.Contains(parameter.Name))
                    {
                        result.IsValid           = false;
                        result.ValidationMessage = $"Invalid command modifiers: parameter '{parameter.Name}' can't be used with the '{GetActionType().ToString().ToLowerInvariant()}' command";
                        break;
                    }
                }
            }
            return(result);
        }
コード例 #4
0
        public void create_instance_from_valid()
        {
            var result      = CommandValidationResult.FromValid();
            var resultAsync = CommandValidationResult.FromValidAsync().Result;

            Assert.True(result.IsValid);
            Assert.True(resultAsync.IsValid);
        }
コード例 #5
0
#pragma warning disable 1591 // Xml Comments
        public CommandValidationResult Validate(ICommand command)
        {
            var result = new CommandValidationResult();
            var validationResults = ValidateInternal(command);
            result.ValidationResults = validationResults.Where(v => v.MemberNames.First() != ModelRule<object>.ModelRulePropertyName);
            result.CommandErrorMessages = validationResults.Where(v => v.MemberNames.First() == ModelRule<object>.ModelRulePropertyName).Select(v => v.ErrorMessage);
            return result;   
        }
コード例 #6
0
ファイル: CommandValidator.cs プロジェクト: zamil2200/Bifrost
#pragma warning disable 1591 // Xml Comments
        public CommandValidationResult Validate(ICommand command)
        {
            var result            = new CommandValidationResult();
            var validationResults = ValidateInternal(command);

            result.ValidationResults    = validationResults.Where(v => v.MemberNames.First() != ModelRule <object> .ModelRulePropertyName);
            result.CommandErrorMessages = validationResults.Where(v => v.MemberNames.First() == ModelRule <object> .ModelRulePropertyName).Select(v => v.ErrorMessage);
            return(result);
        }
コード例 #7
0
        public void CommandValidationResult_ContructWithNoParams_SetsExpectedPropertyValues()
        {
            // Arrange / Act
            var sut = new CommandValidationResult();

            // Assert
            Assert.True(sut.IsValid);
            Assert.Null(sut.Reason);
        }
コード例 #8
0
        public void CommandValidationResult_ContructWithReason_SetsExpectedPropertyValues()
        {
            // Arrange / Act
            var sut = new CommandValidationResult("reason");

            // Assert
            Assert.False(sut.IsValid);
            Assert.Equal("reason", sut.Reason);
        }
コード例 #9
0
ファイル: ZetPapierUit.cs プロジェクト: Hydrakus/Euricom
        public CommandValidationResult Validate()
        {
            var commandValidationResult = new CommandValidationResult();

            if (!CommandValidations.ValidateRequiredString(PerNummer, 11))
            {
                commandValidationResult.AddValidationError(CommandValidations.GetRequiredStringValidationErrorMessage(nameof(PerNummer), PerNummer, 11));
            }

            return(commandValidationResult);
        }
コード例 #10
0
        public void construct_with_errors()
        {
            var errors = new List <string>()
            {
                "error"
            };
            var result = new CommandValidationResult(errors);

            Assert.False(result.IsValid);
            Assert.Contains(errors[0], result.Errors);
        }
コード例 #11
0
        public void Should_create_result_without_errors()
        {
            // When
            var result = new CommandValidationResult(true, null);

            // Then
            Assert.That(result.Errors, Is.Not.Null);
            Assert.That(result.Errors, Is.Empty);
            Assert.That(result.Ok, Is.True);
            Assert.That(result.NotOk, Is.False);
        }
コード例 #12
0
        public async Task Of_T_Continuation_Function_Throws_Exception_When_Access_Is_Requested_And_Validation_Results_Are_Not_Empty()
        {
            var errors          = new ValidationResult[] { new ValidationResult("You shall not pass") };
            var executionResult = new ExecutionResult <string>();
            Func <Task <ExecutionResult <string> > > continuationFunc = async() => executionResult;

            var result = new CommandValidationResult <string>(errors, continuationFunc);

            var ex = await Assert.ThrowsAsync <InvalidOperationException>(() => result.CompleteCommandExecutionAsync());

            ex.Message.ShouldBe("Cannot complete command execution because validation was not successful.");
        }
コード例 #13
0
        public void Should_create_result_with_errors()
        {
            // Given
            var errors = new []
            {
                new ValidationResult(""),
            };

            // When
            var result = new CommandValidationResult(false, errors);

            // Then
            Assert.That(result.Errors, Is.Not.Empty);
            Assert.That(result.NotOk, Is.True);
            Assert.That(result.Ok, Is.False);
        }
コード例 #14
0
ファイル: CommandValidators.cs プロジェクト: ProCoSys/Bifrost
#pragma warning disable 1591 // Xml Comments
        public CommandValidationResult Validate(ICommand command)
        {
            var errorMessages = new List<string>();
            var validationResults = new List<ValidationResult>();

            foreach (var validator in _validators)
            {
                var validatorResult = validator.Validate(command);
                errorMessages.AddRange(validatorResult.CommandErrorMessages);
                validationResults.AddRange(validatorResult.ValidationResults);
            }
            var result = new CommandValidationResult
            {
                CommandErrorMessages = errorMessages,
                ValidationResults = validationResults
            };
            return result;
        }
コード例 #15
0
        private static Mvc.IActionResult Convert(CommandValidationResult result)
        {
            if (result.Ok)
            {
                return(new Mvc.OkResult());
            }

            var errors = result.Errors.Select(error => new
            {
                Name    = error.MemberNames.First(),
                Message = error.ErrorMessage,
            });

            return(new Mvc.BadRequestObjectResult(new
            {
                Message = "One or more validation errors occurred",
                errors,
            }));
        }