PageRenderTime 46ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/Source/Bifrost.Specs/Validation/for_CommandValidationService/when_validating_a_command_that_has_incorrect_inputs.cs

#
C# | 43 lines | 36 code | 7 blank | 0 comment | 0 complexity | fb34401df960a12008c87859a9a62281 MD5 | raw file
Possible License(s): CC-BY-SA-3.0
  1. using System.Collections.Generic;
  2. using System.ComponentModel.DataAnnotations;
  3. using Bifrost.Commands;
  4. using Bifrost.Specs.Validation.for_CommandValidationService.given;
  5. using Bifrost.Validation;
  6. using Machine.Specifications;
  7. using Moq;
  8. using It = Machine.Specifications.It;
  9. namespace Bifrost.Specs.Validation.for_CommandValidationService
  10. {
  11. public class when_validating_a_command_that_has_incorrect_inputs : a_command_validation_service
  12. {
  13. static IEnumerable<ValidationResult> input_validation_errors;
  14. static IEnumerable<ValidationResult> validation_results;
  15. static Mock<ICommand> command_mock;
  16. static Mock<ICommandInputValidator> command_input_validator_mock;
  17. static Mock<ICommandBusinessValidator> command_validator_mock;
  18. Establish context = () =>
  19. {
  20. input_validation_errors = new List<ValidationResult>()
  21. {
  22. new ValidationResult("first failed input"),
  23. new ValidationResult("second failed input")
  24. };
  25. command_mock = new Mock<ICommand>();
  26. command_input_validator_mock = new Mock<ICommandInputValidator>();
  27. command_validator_mock = new Mock<ICommandBusinessValidator>();
  28. command_input_validator_mock.Setup(iv => iv.ValidateInput(command_mock.Object)).Returns(input_validation_errors);
  29. command_validator_service_mock.Setup(cvs => cvs.GetInputValidatorFor(command_mock.Object)).Returns(command_input_validator_mock.Object);
  30. };
  31. Because of = () => validation_results = command_validation_service.Validate(command_mock.Object);
  32. It should_have_failed_validations = () => validation_results.ShouldNotBeEmpty();
  33. It should_have_all_the_failed_input_validations = () => validation_results.ShouldContainOnly(input_validation_errors);
  34. It should_not_have_validated_the_command_business_rules = () => command_validator_mock.VerifyAll();
  35. }
  36. }