public void AdapterFactory_RegistersAdapters_ForDataAnnotationAttributes( ValidationAttribute attribute, Type expectedAdapterType) { // Arrange var adapters = new DataAnnotationsClientModelValidatorProvider().AttributeFactories; var adapterFactory = adapters.Single(kvp => kvp.Key == attribute.GetType()).Value; // Act var adapter = adapterFactory(attribute); // Assert Assert.IsType(expectedAdapterType, adapter); }
public void UnknownValidationAttribute_IsNotAddedAsValidator() { // Arrange var provider = new DataAnnotationsClientModelValidatorProvider(); var metadata = _metadataProvider.GetMetadataForType(typeof(DummyClassWithDummyValidationAttribute)); var providerContext = new ClientValidatorProviderContext(metadata); // Act provider.GetValidators(providerContext); // Assert Assert.Empty(providerContext.Validators); }
public void AdapterFactory_RegistersAdapters_ForDataTypeAttributes( ValidationAttribute attribute, string expectedRuleName) { // Arrange var adapters = new DataAnnotationsClientModelValidatorProvider().AttributeFactories; var adapterFactory = adapters.Single(kvp => kvp.Key == attribute.GetType()).Value; // Act var adapter = adapterFactory(attribute); // Assert var dataTypeAdapter = Assert.IsType <DataTypeAttributeAdapter>(adapter); Assert.Equal(expectedRuleName, dataTypeAdapter.RuleName); }
public void UnknownValidationAttribute_IsNotAddedAsValidator() { // Arrange var provider = new DataAnnotationsClientModelValidatorProvider( new TestOptionsManager <MvcDataAnnotationsLocalizationOptions>(), stringLocalizerFactory: null); var metadata = _metadataProvider.GetMetadataForType(typeof(DummyClassWithDummyValidationAttribute)); var providerContext = new ClientValidatorProviderContext(metadata); // Act provider.GetValidators(providerContext); // Assert Assert.Empty(providerContext.Validators); }
public void GetValidators_DoesNotAddRequiredAttribute_ForIsRequiredFalse() { // Arrange var provider = new DataAnnotationsClientModelValidatorProvider(); var metadata = _metadataProvider.GetMetadataForProperty( typeof(DummyRequiredAttributeHelperClass), nameof(DummyRequiredAttributeHelperClass.ReferenceTypeWithoutAttribute)); var providerContext = new ClientValidatorProviderContext(metadata); // Act provider.GetValidators(providerContext); // Assert Assert.Empty(providerContext.Validators); }
public void AdapterFactory_RegistersAdapters_ForDataAnnotationAttributes( ValidationAttribute attribute, Type expectedAdapterType) { // Arrange var adapters = new DataAnnotationsClientModelValidatorProvider( new TestOptionsManager <MvcDataAnnotationsLocalizationOptions>(), stringLocalizerFactory: null) .AttributeFactories; var adapterFactory = adapters.Single(kvp => kvp.Key == attribute.GetType()).Value; // Act var adapter = adapterFactory(attribute, stringLocalizer: null); // Assert Assert.IsType(expectedAdapterType, adapter); }
public void GetValidators_AddsRequiredAttribute_ForIsRequiredTrue() { // Arrange var provider = new DataAnnotationsClientModelValidatorProvider(); var metadata = _metadataProvider.GetMetadataForProperty( typeof(DummyRequiredAttributeHelperClass), nameof(DummyRequiredAttributeHelperClass.ValueTypeWithoutAttribute)); var providerContext = new ClientValidatorProviderContext(metadata); // Act provider.GetValidators(providerContext); // Assert var validator = Assert.Single(providerContext.Validators); Assert.IsType<RequiredAttributeAdapter>(validator); }
public void GetValidators_DoesNotAddExtraRequiredAttribute_IfAttributeIsSpecifiedExplicitly() { // Arrange var provider = new DataAnnotationsClientModelValidatorProvider(); var metadata = _metadataProvider.GetMetadataForProperty( typeof(DummyRequiredAttributeHelperClass), nameof(DummyRequiredAttributeHelperClass.WithAttribute)); var providerContext = new ClientValidatorProviderContext(metadata); // Act provider.GetValidators(providerContext); // Assert var validator = Assert.Single(providerContext.Validators); var adapter = Assert.IsType<RequiredAttributeAdapter>(validator); Assert.Equal("Custom Required Message", adapter.Attribute.ErrorMessage); }
public void GetValidators_AddsRequiredAttribute_ForIsRequiredTrue() { // Arrange var provider = new DataAnnotationsClientModelValidatorProvider(); var metadata = _metadataProvider.GetMetadataForProperty( typeof(DummyRequiredAttributeHelperClass), nameof(DummyRequiredAttributeHelperClass.ValueTypeWithoutAttribute)); var providerContext = new ClientValidatorProviderContext(metadata); // Act provider.GetValidators(providerContext); // Assert var validator = Assert.Single(providerContext.Validators); Assert.IsType <RequiredAttributeAdapter>(validator); }
public void GetValidators_DoesNotAddRequiredAttribute_ForIsRequiredFalse() { // Arrange var provider = new DataAnnotationsClientModelValidatorProvider( new ValidationAttributeAdapterProvider(), new TestOptionsManager<MvcDataAnnotationsLocalizationOptions>(), stringLocalizerFactory: null); var metadata = _metadataProvider.GetMetadataForProperty( typeof(DummyRequiredAttributeHelperClass), nameof(DummyRequiredAttributeHelperClass.ReferenceTypeWithoutAttribute)); var providerContext = new ClientValidatorProviderContext(metadata); // Act provider.GetValidators(providerContext); // Assert Assert.Empty(providerContext.Validators); }
public void GetValidators_DoesNotAddExtraRequiredAttribute_IfAttributeIsSpecifiedExplicitly() { // Arrange var provider = new DataAnnotationsClientModelValidatorProvider(); var metadata = _metadataProvider.GetMetadataForProperty( typeof(DummyRequiredAttributeHelperClass), nameof(DummyRequiredAttributeHelperClass.WithAttribute)); var providerContext = new ClientValidatorProviderContext(metadata); // Act provider.GetValidators(providerContext); // Assert var validator = Assert.Single(providerContext.Validators); var adapter = Assert.IsType <RequiredAttributeAdapter>(validator); Assert.Equal("Custom Required Message", adapter.Attribute.ErrorMessage); }
public void GetValidators_DoesNotAddRequiredAttribute_ForIsRequiredFalse() { // Arrange var provider = new DataAnnotationsClientModelValidatorProvider( new ValidationAttributeAdapterProvider(), new TestOptionsManager <MvcDataAnnotationsLocalizationOptions>(), stringLocalizerFactory: null); var metadata = _metadataProvider.GetMetadataForProperty( typeof(DummyRequiredAttributeHelperClass), nameof(DummyRequiredAttributeHelperClass.ReferenceTypeWithoutAttribute)); var providerContext = new ClientValidatorProviderContext(metadata); // Act provider.GetValidators(providerContext); // Assert Assert.Empty(providerContext.Validators); }
public void UnknownValidationAttribute_IsNotAddedAsValidator() { // Arrange var provider = new DataAnnotationsClientModelValidatorProvider( new ValidationAttributeAdapterProvider(), new TestOptionsManager<MvcDataAnnotationsLocalizationOptions>(), stringLocalizerFactory: null); var metadata = _metadataProvider.GetMetadataForType(typeof(DummyClassWithDummyValidationAttribute)); var providerContext = new ClientValidatorProviderContext(metadata); // Act provider.GetValidators(providerContext); // Assert Assert.Empty(providerContext.Validators); }
public void AdapterFactory_RegistersAdapters_ForDataAnnotationAttributes( ValidationAttribute attribute, Type expectedAdapterType) { // Arrange var adapters = new DataAnnotationsClientModelValidatorProvider( new TestOptionsManager<MvcDataAnnotationsLocalizationOptions>(), stringLocalizerFactory: null) .AttributeFactories; var adapterFactory = adapters.Single(kvp => kvp.Key == attribute.GetType()).Value; // Act var adapter = adapterFactory(attribute, stringLocalizer: null); // Assert Assert.IsType(expectedAdapterType, adapter); }
public void AdapterFactory_RegistersAdapters_ForDataTypeAttributes( ValidationAttribute attribute, string expectedRuleName) { // Arrange var adapters = new DataAnnotationsClientModelValidatorProvider().AttributeFactories; var adapterFactory = adapters.Single(kvp => kvp.Key == attribute.GetType()).Value; // Act var adapter = adapterFactory(attribute); // Assert var dataTypeAdapter = Assert.IsType<DataTypeAttributeAdapter>(adapter); Assert.Equal(expectedRuleName, dataTypeAdapter.RuleName); }