Skip to content

Commit 80a69d1

Browse files
committed
Add integration test where a develop branch with one commit merged to main
1 parent bb9f87a commit 80a69d1

File tree

2 files changed

+99
-1
lines changed

2 files changed

+99
-1
lines changed
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
using GitVersion.Configuration;
2+
using GitVersion.Core.Tests;
3+
using GitVersion.Core.Tests.IntegrationTests;
4+
using GitVersion.VersionCalculation;
5+
6+
namespace GitVersion.Core.TrunkBased;
7+
8+
internal partial class TrunkBasedScenariosWithAGitFlow
9+
{
10+
[Parallelizable(ParallelScope.All)]
11+
public class GivenADevelopBranchWithOneCommitMergedToMainWhen
12+
{
13+
private EmptyRepositoryFixture? fixture;
14+
15+
private static GitFlowConfigurationBuilder TrunkBasedBuilder => GitFlowConfigurationBuilder.New.WithLabel(null)
16+
.WithVersioningMode(VersioningMode.TrunkBased)
17+
.WithBranch("main", _ => _.WithVersioningMode(VersioningMode.ManualDeployment))
18+
.WithBranch("develop", _ => _.WithVersioningMode(VersioningMode.ManualDeployment));
19+
20+
[OneTimeSetUp]
21+
public void OneTimeSetUp()
22+
{
23+
// * 55 minutes ago (HEAD -> main)
24+
// |\
25+
// | * 56 minutes ago (develop)
26+
// |/
27+
// * 58 minutes ago
28+
29+
fixture = new EmptyRepositoryFixture("main");
30+
31+
fixture.MakeACommit("A");
32+
fixture.BranchTo("develop");
33+
fixture.MakeACommit("B");
34+
fixture.MergeTo("main");
35+
}
36+
37+
[OneTimeTearDown]
38+
public void OneTimeTearDown() => fixture?.Dispose();
39+
40+
[TestCase(IncrementStrategy.None, IncrementStrategy.None, ExpectedResult = "0.0.0-alpha.1+2")]
41+
[TestCase(IncrementStrategy.None, IncrementStrategy.Patch, ExpectedResult = "0.0.1-alpha.1+2")]
42+
[TestCase(IncrementStrategy.None, IncrementStrategy.Minor, ExpectedResult = "0.1.0-alpha.1+2")]
43+
[TestCase(IncrementStrategy.None, IncrementStrategy.Major, ExpectedResult = "1.0.0-alpha.1+2")]
44+
45+
[TestCase(IncrementStrategy.Patch, IncrementStrategy.None, ExpectedResult = "0.0.1-alpha.1+2")]
46+
[TestCase(IncrementStrategy.Patch, IncrementStrategy.Patch, ExpectedResult = "0.0.2-alpha.1+2")]
47+
[TestCase(IncrementStrategy.Patch, IncrementStrategy.Minor, ExpectedResult = "0.1.0-alpha.1+2")]
48+
[TestCase(IncrementStrategy.Patch, IncrementStrategy.Major, ExpectedResult = "1.0.0-alpha.1+2")]
49+
50+
[TestCase(IncrementStrategy.Minor, IncrementStrategy.None, ExpectedResult = "0.1.0-alpha.1+2")]
51+
[TestCase(IncrementStrategy.Minor, IncrementStrategy.Patch, ExpectedResult = "0.1.1-alpha.1+2")]
52+
[TestCase(IncrementStrategy.Minor, IncrementStrategy.Minor, ExpectedResult = "0.2.0-alpha.1+2")]
53+
[TestCase(IncrementStrategy.Minor, IncrementStrategy.Major, ExpectedResult = "1.0.0-alpha.1+2")]
54+
55+
[TestCase(IncrementStrategy.Major, IncrementStrategy.None, ExpectedResult = "1.0.0-alpha.1+2")]
56+
[TestCase(IncrementStrategy.Major, IncrementStrategy.Patch, ExpectedResult = "1.0.1-alpha.1+2")]
57+
[TestCase(IncrementStrategy.Major, IncrementStrategy.Minor, ExpectedResult = "1.1.0-alpha.1+2")]
58+
[TestCase(IncrementStrategy.Major, IncrementStrategy.Major, ExpectedResult = "2.0.0-alpha.1+2")]
59+
public string GetVersionWithNoLabelOnMain(IncrementStrategy incrementOnMain, IncrementStrategy increment)
60+
{
61+
IGitVersionConfiguration trunkBased = TrunkBasedBuilder
62+
.WithBranch("main", _ => _.WithIncrement(incrementOnMain).WithLabel(null))
63+
.WithBranch("develop", _ => _.WithIncrement(increment))
64+
.Build();
65+
66+
return fixture!.GetVersion(trunkBased).FullSemVer;
67+
}
68+
69+
[TestCase(IncrementStrategy.None, IncrementStrategy.None, ExpectedResult = "0.0.0-2+2")]
70+
[TestCase(IncrementStrategy.None, IncrementStrategy.Patch, ExpectedResult = "0.0.1-1+2")]
71+
[TestCase(IncrementStrategy.None, IncrementStrategy.Minor, ExpectedResult = "0.1.0-1+2")]
72+
[TestCase(IncrementStrategy.None, IncrementStrategy.Major, ExpectedResult = "1.0.0-1+2")]
73+
74+
[TestCase(IncrementStrategy.Patch, IncrementStrategy.None, ExpectedResult = "0.0.1-2+2")]
75+
[TestCase(IncrementStrategy.Patch, IncrementStrategy.Patch, ExpectedResult = "0.0.2-1+2")]
76+
[TestCase(IncrementStrategy.Patch, IncrementStrategy.Minor, ExpectedResult = "0.1.0-1+2")]
77+
[TestCase(IncrementStrategy.Patch, IncrementStrategy.Major, ExpectedResult = "1.0.0-1+2")]
78+
79+
[TestCase(IncrementStrategy.Minor, IncrementStrategy.None, ExpectedResult = "0.1.0-2+2")]
80+
[TestCase(IncrementStrategy.Minor, IncrementStrategy.Patch, ExpectedResult = "0.1.1-1+2")]
81+
[TestCase(IncrementStrategy.Minor, IncrementStrategy.Minor, ExpectedResult = "0.2.0-1+2")]
82+
[TestCase(IncrementStrategy.Minor, IncrementStrategy.Major, ExpectedResult = "1.0.0-1+2")]
83+
84+
[TestCase(IncrementStrategy.Major, IncrementStrategy.None, ExpectedResult = "1.0.0-2+2")]
85+
[TestCase(IncrementStrategy.Major, IncrementStrategy.Patch, ExpectedResult = "1.0.1-1+2")]
86+
[TestCase(IncrementStrategy.Major, IncrementStrategy.Minor, ExpectedResult = "1.1.0-1+2")]
87+
[TestCase(IncrementStrategy.Major, IncrementStrategy.Major, ExpectedResult = "2.0.0-1+2")]
88+
public string GetVersionWithEmptyLabelOnMain(IncrementStrategy incrementOnMain, IncrementStrategy increment)
89+
{
90+
IGitVersionConfiguration trunkBased = TrunkBasedBuilder
91+
.WithBranch("main", _ => _.WithIncrement(incrementOnMain).WithLabel(string.Empty))
92+
.WithBranch("develop", _ => _.WithIncrement(increment))
93+
.Build();
94+
95+
return fixture!.GetVersion(trunkBased).FullSemVer;
96+
}
97+
}
98+
}

src/GitVersion.Core.Tests/TrunkBased/TrunkBasedScenariosWithAGitFlow+GivenADevelopBranchWithOneCommitMergedToMainWithTrackMergeTargetWhenMergedCommitTaggedAsStable.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
namespace GitVersion.Core.TrunkBased;
77

8-
internal class TrunkBasedScenariosWithAGitFlow
8+
internal partial class TrunkBasedScenariosWithAGitFlow
99
{
1010
[Parallelizable(ParallelScope.All)]
1111
public class GivenADevelopBranchWithOneCommitMergedToMainWithTrackMergeTargetWhenMergedCommitTaggedAsStable

0 commit comments

Comments
 (0)