예제 #1
0
        public void ValidateFieldNamesTest()
        {
            EntityChangeValidator <CardFieldDefinition> changeValidator = new EntityChangeValidator <CardFieldDefinition>();

            changeValidator.Register(nameof(CardFieldDefinition.FieldName), new CardFieldDefinitionFieldNameValidator());
            CardTemplateChangeValidator validator = new CardTemplateChangeValidator(changeValidator);

            validator.Register(nameof(CardTemplate.Title), new CardTemplateTitleValidator());

            CardTemplate template = new CardTemplate()
            {
                Title = "test"
            };
            CardFieldDefinition fieldDefinition = new CardFieldDefinition();

            template.FieldDefinitions.Add(fieldDefinition);

            string error = validator.Validate <string>(nameof(CardFieldDefinition.FieldName), fieldDefinition, null);

            Assert.IsFalse(string.IsNullOrEmpty(error));
            error = validator.Validate(nameof(CardFieldDefinition.FieldName), fieldDefinition, "");
            Assert.IsFalse(string.IsNullOrEmpty(error));
            error = validator.Validate(nameof(CardFieldDefinition.FieldName), fieldDefinition, "test");
            Assert.IsTrue(string.IsNullOrEmpty(error));
        }
예제 #2
0
        /// <summary>
        /// Adds the Property validator for <see cref="CardTemplate"/>
        /// </summary>
        /// <param name="services">Service-collection</param>
        public static void AddCardTemplatePropertyValidator(this IServiceCollection services)
        {
            EntityChangeValidator <CardFieldDefinition> fieldDefinitionChangeValidator = new EntityChangeValidator <CardFieldDefinition>();

            fieldDefinitionChangeValidator.Register(nameof(CardFieldDefinition.FieldName), new CardFieldDefinitionFieldNameValidator());
            EntityChangeValidator <CardTemplate> validator = new CardTemplateChangeValidator(fieldDefinitionChangeValidator);

            validator.Register(nameof(CardTemplate.Title), new CardTemplateTitleValidator());
            services.AddSingleton(typeof(EntityChangeValidator <CardTemplate>), validator);
        }
        public async Task DoesValidateFieldNamePropertiesTest()
        {
            ApiConnectorMock mock = CreateMockForInitialize(false, null);
            EntityChangeValidator <CardFieldDefinition> fieldValidator = new EntityChangeValidator <CardFieldDefinition>();

            fieldValidator.Register(nameof(CardFieldDefinition.FieldName), new CardFieldDefinitionFieldNameValidator());
            CardTemplateChangeValidator validator = new CardTemplateChangeValidator(fieldValidator);
            CardTemplateEditViewModel   viewModel = new CardTemplateEditViewModel(navigationManagerMock, mock, validator);
            await viewModel.InitializeAsync();

            viewModel.FieldNameProperties[0].Value = null;
            Assert.IsFalse(string.IsNullOrEmpty(viewModel.FieldNameProperties[0].ErrorText));
            viewModel.FieldNameProperties[0].Value = "test";
            Assert.IsTrue(string.IsNullOrEmpty(viewModel.FieldNameProperties[0].ErrorText));
        }