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 Template_parameter_is_parsed_correctly(string template, ChangeLogConfiguration.TemplateName expected) { // ARRANGE var args = new[] { "--repository", "some-path", "--template", template }; // ACT var result = CommandLineParameters.Parse(args); // ASSERT Assert.Equal(ParserResultType.Parsed, result.Tag); Assert.Equal(typeof(CommandLineParameters), result.TypeInfo.Current); result.WithParsed(parsed => { Assert.NotNull(parsed.Template); Assert.Equal(expected, parsed.Template); }); }
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) ); }
public void RegisterTemplate_can_register_a_template_for_every_supported_template_name(ChangeLogConfiguration.TemplateName templateName) { // ARRANGE var configuration = new ChangeLogConfiguration() { Template = new ChangeLogConfiguration.TemplateConfiguration() { Name = templateName } }; var containerBuilder = new ContainerBuilder(); containerBuilder.RegisterInstance(configuration).SingleInstance(); containerBuilder.RegisterInstance(NullLogger <DefaultTemplate> .Instance).As <ILogger <DefaultTemplate> >(); // ACT containerBuilder.RegisterTemplate(configuration.Template); // ASSERT var container = containerBuilder.Build(); var template = container.Resolve <ITemplate>(); Assert.NotNull(template); }