Skip to content

Commit 64e2608

Browse files
Added support for label aliases.
1 parent e5f3f7d commit 64e2608

15 files changed

+412
-6
lines changed
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
//-----------------------------------------------------------------------
2+
// <copyright file="ConfigurationTests.cs" company="GitTools Contributors">
3+
// Copyright (c) 2015 - Present - GitTools Contributors
4+
// </copyright>
5+
//-----------------------------------------------------------------------
6+
7+
using System.IO;
8+
using GitReleaseManager.Core.Configuration;
9+
using NUnit.Framework;
10+
11+
namespace GitReleaseManager.Tests
12+
{
13+
using System;
14+
using System.Collections.Generic;
15+
using System.Linq;
16+
using System.Text;
17+
using System.Threading.Tasks;
18+
19+
[TestFixture]
20+
public class ConfigurationTests
21+
{
22+
[Test]
23+
public void Should_Read_Label_Aliases()
24+
{
25+
// Given
26+
var text = Resources.Default_Configuration_Yaml;
27+
28+
// When
29+
var config = ConfigSerializer.Read(new StringReader(text));
30+
31+
// Then
32+
Assert.AreEqual(2, config.LabelAliases.Count);
33+
Assert.AreEqual("Bug", config.LabelAliases[0].Name);
34+
Assert.AreEqual("Foo", config.LabelAliases[0].Header);
35+
Assert.AreEqual("Bar", config.LabelAliases[0].Plural);
36+
Assert.AreEqual("Improvement", config.LabelAliases[1].Name);
37+
Assert.AreEqual("Baz", config.LabelAliases[1].Header);
38+
Assert.AreEqual("Qux", config.LabelAliases[1].Plural);
39+
}
40+
}
41+
}

Source/GitReleaseManager.Tests/GitReleaseManager.Tests.csproj

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,18 @@
6868
<Compile Include="ApprovalTestConfig.cs" />
6969
<Compile Include="AssemblyInfo.cs" />
7070
<Compile Include="ClipBoardHelper.cs" />
71+
<Compile Include="ConfigurationTests.cs" />
7172
<Compile Include="FakeGitHubClient.cs" />
7273
<Compile Include="Helper.cs" />
7374
<Compile Include="ReleaseNotesBuilderIntegrationTests.cs" />
7475
<Compile Include="ClientBuilder.cs" />
7576
<Compile Include="ReleaseNotesBuilderTests.cs" />
7677
<Compile Include="ReleaseNotesExporterTests.cs" />
78+
<Compile Include="Resources.Designer.cs">
79+
<AutoGen>True</AutoGen>
80+
<DesignTime>True</DesignTime>
81+
<DependentUpon>Resources.resx</DependentUpon>
82+
</Compile>
7783
</ItemGroup>
7884
<ItemGroup>
7985
<None Include="packages.config">
@@ -86,6 +92,12 @@
8692
<Name>GitReleaseManager.Core</Name>
8793
</ProjectReference>
8894
</ItemGroup>
95+
<ItemGroup>
96+
<EmbeddedResource Include="Resources.resx">
97+
<Generator>ResXFileCodeGenerator</Generator>
98+
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
99+
</EmbeddedResource>
100+
</ItemGroup>
89101
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
90102
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
91103
<PropertyGroup>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
As part of this release we had [1 commit](https://github.com/TestUser/FakeRepository/commits/1.2.3) which resulted in [1 issue](https://github.com/FakeRepository/issues/issues?milestone=0&state=closed) being closed.
2+
3+
4+
__Foo__
5+
6+
- [__#1__](http://example.com/1) Issue 1
7+
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
As part of this release we had [5 commits](https://github.com/TestUser/FakeRepository/commits/1.2.3) which resulted in [1 issue](https://github.com/FakeRepository/issues/issues?milestone=0&state=closed) being closed.
2+
3+
4+
__Help Wanted__
5+
6+
- [__#1__](http://example.com/1) Issue 1
7+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
As part of this release we had [5 commits](https://github.com/TestUser/FakeRepository/commits/1.2.3) which resulted in [2 issues](https://github.com/FakeRepository/issues/issues?milestone=0&state=closed) being closed.
2+
3+
4+
__Bar__
5+
6+
- [__#1__](http://example.com/1) Issue 1
7+
- [__#2__](http://example.com/2) Issue 2
8+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
As part of this release we had [5 commits](https://github.com/TestUser/FakeRepository/commits/1.2.3) which resulted in [2 issues](https://github.com/FakeRepository/issues/issues?milestone=0&state=closed) being closed.
2+
3+
4+
__Help Wanteds__
5+
6+
- [__#1__](http://example.com/1) Issue 1
7+
- [__#2__](http://example.com/2) Issue 2
8+

Source/GitReleaseManager.Tests/ReleaseNotesBuilderTests.cs

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,38 @@ public void SomeCommitsSingularIssues()
7272
AcceptTest(5, CreateIssue(1, "Bug"));
7373
}
7474

75+
[Test]
76+
public void SingularCommitsWithHeaderLabelAlias()
77+
{
78+
var config = new Config();
79+
config.LabelAliases.Add(new LabelAlias
80+
{
81+
Name = "Bug",
82+
Header = "Foo"
83+
});
84+
85+
AcceptTest(1, config, CreateIssue(1, "Bug"));
86+
}
87+
88+
[Test]
89+
public void SomeCommitsWithPluralizedLabelAlias()
90+
{
91+
var config = new Config();
92+
config.LabelAliases.Add(new LabelAlias
93+
{
94+
Name = "Help Wanted",
95+
Plural = "Bar",
96+
});
97+
98+
AcceptTest(5, config, CreateIssue(1, "Help Wanted"), CreateIssue(2, "Help Wanted"));
99+
}
100+
101+
[Test]
102+
public void SomeCommitsWithoutPluralizedLabelAlias()
103+
{
104+
AcceptTest(5, CreateIssue(1, "Help Wanted"), CreateIssue(2, "Help Wanted"));
105+
}
106+
75107
[Test]
76108
public void NoCommitsWrongIssueLabel()
77109
{
@@ -85,11 +117,16 @@ public void SomeCommitsWrongIssueLabel()
85117
}
86118

87119
private static void AcceptTest(int commits, params Issue[] issues)
120+
{
121+
AcceptTest(commits, null, issues);
122+
}
123+
124+
private static void AcceptTest(int commits, Config config, params Issue[] issues)
88125
{
89126
var fakeClient = new FakeGitHubClient();
90127
var fileSystem = new FileSystem();
91128
var currentDirectory = Environment.CurrentDirectory;
92-
var configuration = ConfigurationProvider.Provide(currentDirectory, fileSystem);
129+
var configuration = config ?? ConfigurationProvider.Provide(currentDirectory, fileSystem);
93130

94131
fakeClient.Milestones.Add(CreateMilestone("1.2.3"));
95132

Source/GitReleaseManager.Tests/Resources.Designer.cs

Lines changed: 99 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)