public void Apply_Feature_Branch_Changes_Version_Resets_On_Merge() { using (var fixture = new SimpleVersionRepositoryFixture()) { // Arrange var config = fixture.GetConfig(); fixture.MakeACommit(); fixture.MakeACommit(); fixture.MakeACommit(); fixture.MakeACommit(); fixture.BranchTo("feature/other"); fixture.MakeACommit(); config.Version = "0.1.1"; fixture.SetConfig(config); fixture.MakeACommit(); fixture.MakeACommit(); fixture.Checkout("master"); fixture.MergeNoFF("feature/other"); var context = new VersionContext(fixture.Repository); // Act _sut.Apply(context); // Assert context.Result.Height.Should().Be(1); } }
public void Apply_Feature_Branch_No_Change_Increments_Merge_Once() { using (var fixture = new SimpleVersionRepositoryFixture()) { // Arrange fixture.MakeACommit(); fixture.MakeACommit(); fixture.MakeACommit(); fixture.MakeACommit(); fixture.BranchTo("feature/other"); fixture.MakeACommit(); fixture.MakeACommit(); fixture.MakeACommit(); fixture.Checkout("master"); fixture.MergeNoFF("feature/other"); var context = new VersionContext(fixture.Repository); // Act _sut.Apply(context); context.Result.Height.Should().Be(6); } }
public void Apply_BranchOverride_AppliesOverride() { // Arrange var expectedLabel = new List <string> { "{branchName}" }; var expectedMeta = new List <string> { "meta" }; var config = new Configuration { Version = "0.1.0", Branches = { Overrides = { new BranchConfiguration { Match = "feature/other", Label = expectedLabel, Metadata = expectedMeta } } } }; using (var fixture = new SimpleVersionRepositoryFixture(config)) { fixture.MakeACommit(); fixture.MakeACommit(); fixture.MakeACommit(); fixture.MakeACommit(); fixture.BranchTo("feature/other"); fixture.MakeACommit(); fixture.MakeACommit(); fixture.MakeACommit(); var context = new VersionContext(fixture.Repository); // Act _sut.Apply(context); context.Configuration.Label.Should().BeEquivalentTo(expectedLabel, options => options.WithStrictOrdering()); context.Configuration.Metadata.Should().BeEquivalentTo(expectedMeta, options => options.WithStrictOrdering()); } }
public void Apply_Feature_Branch_Sets_BranchName() { using (var fixture = new SimpleVersionRepositoryFixture()) { // Arrange fixture.MakeACommit(); fixture.MakeACommit(); fixture.MakeACommit(); fixture.MakeACommit(); fixture.BranchTo("feature/other"); fixture.MakeACommit(); fixture.MakeACommit(); fixture.MakeACommit(); var context = new VersionContext(fixture.Repository); // Act _sut.Apply(context); context.Result.BranchName.Should().Be("feature/other"); context.Result.CanonicalBranchName.Should().Be("refs/heads/feature/other"); } }