@@ -352,5 +352,108 @@ public void ShouldUseDefaultSourceBranchesWhenNotSpecifiedForFeature()
352
352
config . Branches [ "feature" ] . SourceBranches . ShouldBe (
353
353
new List < string > { "develop" , "master" , "release" , "feature" , "support" , "hotfix" } ) ;
354
354
}
355
+
356
+ [ Test ]
357
+ public void ShouldNotOverrideAnythingWhenOverrideConfigIsEmpty ( )
358
+ {
359
+ const string text = @"
360
+ next-version: 1.2.3
361
+ tag-prefix: custom-tag-prefix-from-yml" ;
362
+ SetupConfigFileContent ( text ) ;
363
+
364
+ var expectedConfig = configProvider . Provide ( repoPath , overrideConfig : null ) ;
365
+ var overridenConfig = configProvider . Provide ( repoPath , overrideConfig : new Config ( ) ) ;
366
+
367
+ overridenConfig . AssemblyVersioningScheme . ShouldBe ( expectedConfig . AssemblyVersioningScheme ) ;
368
+ overridenConfig . AssemblyFileVersioningScheme . ShouldBe ( expectedConfig . AssemblyFileVersioningScheme ) ;
369
+ overridenConfig . AssemblyInformationalFormat . ShouldBe ( expectedConfig . AssemblyInformationalFormat ) ;
370
+ overridenConfig . AssemblyVersioningFormat . ShouldBe ( expectedConfig . AssemblyVersioningFormat ) ;
371
+ overridenConfig . AssemblyFileVersioningFormat . ShouldBe ( expectedConfig . AssemblyFileVersioningFormat ) ;
372
+ overridenConfig . VersioningMode . ShouldBe ( expectedConfig . VersioningMode ) ;
373
+ overridenConfig . TagPrefix . ShouldBe ( expectedConfig . TagPrefix ) ;
374
+ overridenConfig . ContinuousDeploymentFallbackTag . ShouldBe ( expectedConfig . ContinuousDeploymentFallbackTag ) ;
375
+ overridenConfig . NextVersion . ShouldBe ( expectedConfig . NextVersion ) ;
376
+ overridenConfig . MajorVersionBumpMessage . ShouldBe ( expectedConfig . MajorVersionBumpMessage ) ;
377
+ overridenConfig . MinorVersionBumpMessage . ShouldBe ( expectedConfig . MinorVersionBumpMessage ) ;
378
+ overridenConfig . PatchVersionBumpMessage . ShouldBe ( expectedConfig . PatchVersionBumpMessage ) ;
379
+ overridenConfig . NoBumpMessage . ShouldBe ( expectedConfig . NoBumpMessage ) ;
380
+ overridenConfig . LegacySemVerPadding . ShouldBe ( expectedConfig . LegacySemVerPadding ) ;
381
+ overridenConfig . BuildMetaDataPadding . ShouldBe ( expectedConfig . BuildMetaDataPadding ) ;
382
+ overridenConfig . CommitsSinceVersionSourcePadding . ShouldBe ( expectedConfig . CommitsSinceVersionSourcePadding ) ;
383
+ overridenConfig . TagPreReleaseWeight . ShouldBe ( expectedConfig . TagPreReleaseWeight ) ;
384
+ overridenConfig . CommitMessageIncrementing . ShouldBe ( expectedConfig . CommitMessageIncrementing ) ;
385
+ overridenConfig . Increment . ShouldBe ( expectedConfig . Increment ) ;
386
+ overridenConfig . CommitDateFormat . ShouldBe ( expectedConfig . CommitDateFormat ) ;
387
+ overridenConfig . MergeMessageFormats . ShouldBe ( expectedConfig . MergeMessageFormats ) ;
388
+ overridenConfig . UpdateBuildNumber . ShouldBe ( expectedConfig . UpdateBuildNumber ) ;
389
+
390
+ overridenConfig . Ignore . ShouldBeEquivalentTo ( expectedConfig . Ignore ) ;
391
+
392
+ overridenConfig . Branches . Keys . ShouldBe ( expectedConfig . Branches . Keys ) ;
393
+
394
+ foreach ( var branch in overridenConfig . Branches . Keys )
395
+ {
396
+ overridenConfig . Branches [ branch ] . ShouldBeEquivalentTo ( expectedConfig . Branches [ branch ] ) ;
397
+ }
398
+ }
399
+
400
+ [ Test ]
401
+ public void ShouldUseDefaultTagPrefixWhenNotSetInConfigFile ( )
402
+ {
403
+ const string text = "" ;
404
+ SetupConfigFileContent ( text ) ;
405
+ var config = configProvider . Provide ( repoPath ) ;
406
+
407
+ config . TagPrefix . ShouldBe ( "[vV]" ) ;
408
+ }
409
+
410
+ [ Test ]
411
+ public void ShouldUseTagPrefixFromConfigFileWhenProvided ( )
412
+ {
413
+ const string text = "tag-prefix: custom-tag-prefix-from-yml" ;
414
+ SetupConfigFileContent ( text ) ;
415
+ var config = configProvider . Provide ( repoPath ) ;
416
+
417
+ config . TagPrefix . ShouldBe ( "custom-tag-prefix-from-yml" ) ;
418
+ }
419
+
420
+ [ Test ]
421
+ public void ShouldOverrideTagPrefixWithOverrideConfigValue ( [ Values ] bool tagPrefixSetAtYmlFile )
422
+ {
423
+ var text = tagPrefixSetAtYmlFile ? "tag-prefix: custom-tag-prefix-from-yml" : "" ;
424
+ SetupConfigFileContent ( text ) ;
425
+ var config = configProvider . Provide ( repoPath , overrideConfig : new Config
426
+ {
427
+ TagPrefix = "tag-prefix-from-override-config"
428
+ } ) ;
429
+
430
+ config . TagPrefix . ShouldBe ( "tag-prefix-from-override-config" ) ;
431
+ }
432
+
433
+ [ Test ]
434
+ public void ShouldNotOverrideDefaultTagPrefixWhenNotSetInOverrideConfig ( [ Values ( null , "" , " " ) ] string overridenTagPrefix )
435
+ {
436
+ const string text = "" ;
437
+ SetupConfigFileContent ( text ) ;
438
+ var config = configProvider . Provide ( repoPath , overrideConfig : new Config
439
+ {
440
+ TagPrefix = overridenTagPrefix
441
+ } ) ;
442
+
443
+ config . TagPrefix . ShouldBe ( "[vV]" ) ;
444
+ }
445
+
446
+ [ Test ]
447
+ public void ShouldNotOverrideTagPrefixFromConfigFileWhenNotSetInOverrideConfig ( [ Values ( null , "" , " " ) ] string overridenTagPrefix )
448
+ {
449
+ const string text = "tag-prefix: custom-tag-prefix-from-yml" ;
450
+ SetupConfigFileContent ( text ) ;
451
+ var config = configProvider . Provide ( repoPath , overrideConfig : new Config
452
+ {
453
+ TagPrefix = overridenTagPrefix
454
+ } ) ;
455
+
456
+ config . TagPrefix . ShouldBe ( "custom-tag-prefix-from-yml" ) ;
457
+ }
355
458
}
356
459
}
0 commit comments