public void For_WithCode_When_ThereAre2ValidationTasks_Then_CodeIsChangedInLastValidationTask() { // Arrange: var memberInfo = CreateTestMemberInfo(); var validator = new PropertyValidatorBaseTestImpl <string>(memberInfo); var validationTasks = new List <ValidationTask> { new ValidationTask(Mock.Of <IValidator>(), false), new ValidationTask(Mock.Of <IValidator>(), false) }; validator.AddValidationTasksTestMethod(validationTasks); const string code = "SOME CODE"; // Act: validator.WithCode(code); // Assert: var resultValidationTasks = validator.GetValidationTasksTestMethod(); resultValidationTasks.Count.Should().Be(2); resultValidationTasks.First().ErrorTransformation.OverriddenCode.Should().BeNull(); resultValidationTasks.Skip(1).First().ErrorTransformation .OverriddenCode.Should().Be(code); }
public void For_SetValidator_When_OtherValidatorIsAlreadySet_Then_ExceptionIsThrown() { // Arrange: var memberInfo = CreateTestMemberInfo(); var validator = new PropertyValidatorBaseTestImpl <string>(memberInfo); var validationTask = new ValidationTask(Mock.Of <IValidator>(), true); validator.AddValidationTasksTestMethod(new List <ValidationTask> { validationTask }); // Act: var exception = Assert.Throws <InvalidOperationException>(() => validator.SetValidator(Mock.Of <ISyncValidator <string> >())); exception.Message.Should().Contain("There is already set other validator"); }
public void For_StopValidationAfterFailure_When_ThereAre2ValidationTasks_Then_ConstraintIsAppliedToLastValidationTask() { // Arrange: var memberInfo = CreateTestMemberInfo(); var validator = new PropertyValidatorBaseTestImpl <string>(memberInfo); var validationTasks = new List <ValidationTask> { new ValidationTask(Mock.Of <IValidator>(), false), new ValidationTask(Mock.Of <IValidator>(), false) }; validator.AddValidationTasksTestMethod(validationTasks); // Act: validator.StopValidationAfterFailure(); // Assert: var resultValidationTasks = validator.GetValidationTasksTestMethod(); resultValidationTasks.Count.Should().Be(2); resultValidationTasks.First().StopValidationAfterFailure.Should().BeFalse(); resultValidationTasks.Skip(1).First().StopValidationAfterFailure.Should().BeTrue(); }