public void GetValidators_should_return_validators_from_first_provider() { var validator1 = new Mock <ModelValidator>(CreateModelMetadata(), new Mock <ControllerContext>().Object); var validator2 = new Mock <ModelValidator>(CreateModelMetadata(), new Mock <ControllerContext>().Object); provider1.Setup(p => p.GetValidators(It.IsAny <System.Web.Mvc.ModelMetadata>(), It.IsAny <ControllerContext>())).Returns(new[] { validator1.Object }); provider2.Setup(p => p.GetValidators(It.IsAny <System.Web.Mvc.ModelMetadata>(), It.IsAny <ControllerContext>())).Returns(new[] { validator2.Object }); var validators = compositeProvider.GetValidators(CreateModelMetadata(), new Mock <ControllerContext>().Object); Assert.Contains(validator1.Object, validators); Assert.DoesNotContain(validator2.Object, validators); }
public void GetModelValidators_ReturnsValidatorsFromAllProviders() { // Arrange var validator1 = Mock.Of <IModelValidator>(); var validator2 = Mock.Of <IModelValidator>(); var validator3 = Mock.Of <IModelValidator>(); var provider1 = new Mock <IModelValidatorProvider>(); provider1.Setup(p => p.GetValidators(It.IsAny <ModelMetadata>())) .Returns(new[] { validator1, validator2 }); var provider2 = new Mock <IModelValidatorProvider>(); provider2.Setup(p => p.GetValidators(It.IsAny <ModelMetadata>())) .Returns(new[] { validator3 }); var providerProvider = new Mock <IModelValidatorProviderProvider>(); providerProvider.Setup(p => p.ModelValidatorProviders) .Returns(new[] { provider1.Object, provider2.Object }); var compositeModelValidator = new CompositeModelValidatorProvider(providerProvider.Object); var modelMetadata = new EmptyModelMetadataProvider().GetMetadataForType( modelAccessor: null, modelType: typeof(string)); // Act var result = compositeModelValidator.GetValidators(modelMetadata); // Assert Assert.Equal(new[] { validator1, validator2, validator3 }, result); }