public void Custom_directory_must_exist_when_it_is_not_null_or_empty(ChangeLogConfiguration.TemplateName template) { // ARRANGE var config = ChangeLogConfigurationLoader.GetDefaultConfiguration(); var customDirectoryProperty = config.Template.GetType().GetProperty(template.ToString()); var templateSettings = (ChangeLogConfiguration.TemplateSettings)customDirectoryProperty !.GetValue(config.Template) !; templateSettings.CustomDirectory = "/Some-Directory"; var sut = new ConfigurationValidator(); // ACT var result = sut.Validate(config); // ASSERT Assert.False(result.IsValid); Assert.Collection(result.Errors, error => { Assert.Contains("'Template Custom Directory'", error.ErrorMessage); Assert.Contains("'/Some-Directory'", error.ErrorMessage); } ); }
public void Custom_directory_is_valid_when_directory_exists(ChangeLogConfiguration.TemplateName template) { // ARRANGE using var temporaryDirectory = new TemporaryDirectory(); var config = ChangeLogConfigurationLoader.GetDefaultConfiguration(); var customDirectoryProperty = config.Template.GetType().GetProperty(template.ToString()); var templateSettings = (ChangeLogConfiguration.TemplateSettings)customDirectoryProperty !.GetValue(config.Template) !; templateSettings.CustomDirectory = temporaryDirectory; var sut = new ConfigurationValidator(); // ACT var result = sut.Validate(config); // ASSERT Assert.True(result.IsValid); Assert.Empty(result.Errors); }
public void Custom_directory_can_be_null_or_empty( ChangeLogConfiguration.TemplateName template, [CombinatorialValues(null, "")] string customDirectory) { // ARRANGE var config = ChangeLogConfigurationLoader.GetDefaultConfiguration(); var customDirectoryProperty = config.Template.GetType().GetProperty(template.ToString()); var templateSettings = (ChangeLogConfiguration.TemplateSettings)customDirectoryProperty !.GetValue(config.Template) !; templateSettings.CustomDirectory = customDirectory; var sut = new ConfigurationValidator(); // ACT var result = sut.Validate(config); // ASSERT Assert.True(result.IsValid); Assert.Empty(result.Errors); }
public void Custom_directory_must_not_be_whitespace( ChangeLogConfiguration.TemplateName template, [CombinatorialValues("\t", " ")] string customDirectory) { // ARRANGE var config = ChangeLogConfigurationLoader.GetDefaultConfiguration(); var customDirectoryProperty = config.Template.GetType().GetProperty(template.ToString()); var templateSettings = (ChangeLogConfiguration.TemplateSettings)customDirectoryProperty !.GetValue(config.Template) !; templateSettings.CustomDirectory = customDirectory; var sut = new ConfigurationValidator(); // ACT var result = sut.Validate(config); // ASSERT Assert.False(result.IsValid); Assert.Collection(result.Errors, error => Assert.Contains("'Template Custom Directory'", error.ErrorMessage) ); }