Skip to content

Commit

Permalink
fix: changelog config not applied when working with non-monorepo
Browse files Browse the repository at this point in the history
  • Loading branch information
cabauman committed Jun 15, 2024
1 parent 38ad49d commit 69c5014
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 4 deletions.
40 changes: 39 additions & 1 deletion Versionize.Tests/ProgramTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -60,13 +60,51 @@ public void ShouldReadConfigurationFromConfigFile()
{
TempProject.CreateCsharpProject(_testSetup.WorkingDirectory);

var config = new ConfigurationContract
{
SkipDirty = true,
Changelog = new ChangelogOptions
{
Header = "My Custom header"
}
};
var json = JsonConvert.SerializeObject(config);

File.WriteAllText(Path.Join(_testSetup.WorkingDirectory, "hello.txt"), "First commit");
File.WriteAllText(Path.Join(_testSetup.WorkingDirectory, ".versionize"), @"{ ""skipDirty"": true }");
File.WriteAllText(Path.Join(_testSetup.WorkingDirectory, ".versionize"), json);

var exitCode = Program.Main(new[] { "-w", _testSetup.WorkingDirectory });

exitCode.ShouldBe(0);
File.Exists(Path.Join(_testSetup.WorkingDirectory, "CHANGELOG.md")).ShouldBeTrue();
File.ReadAllText(Path.Join(_testSetup.WorkingDirectory, "CHANGELOG.md")).ShouldContain("My Custom header");
_testSetup.Repository.Commits.Count().ShouldBe(1);
}

[Fact]
public void ShouldReadConfigurationFromConfigFileInCustomDirectory()
{
TempProject.CreateCsharpProject(_testSetup.WorkingDirectory);

var config = new ConfigurationContract
{
SkipDirty = true,
Changelog = new ChangelogOptions
{
Header = "My Custom header"
}
};
var json = JsonConvert.SerializeObject(config);
var configDir = Path.Join(_testSetup.WorkingDirectory, "..");

File.WriteAllText(Path.Join(_testSetup.WorkingDirectory, "hello.txt"), "First commit");
File.WriteAllText(Path.Join(_testSetup.WorkingDirectory, "..", ".versionize"), json);

var exitCode = Program.Main(new[] { "-w", _testSetup.WorkingDirectory, "--configDir", configDir, "--skip-dirty" });

exitCode.ShouldBe(0);
File.Exists(Path.Join(_testSetup.WorkingDirectory, "CHANGELOG.md")).ShouldBeTrue();
File.ReadAllText(Path.Join(_testSetup.WorkingDirectory, "CHANGELOG.md")).ShouldContain("My Custom header");
_testSetup.Repository.Commits.Count().ShouldBe(1);
}

Expand Down
5 changes: 2 additions & 3 deletions Versionize/Program.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using System.Text.Json;
using System.Text.Json;
using McMaster.Extensions.CommandLineUtils;
using Versionize.CommandLine;
using Versionize.Versioning;
Expand Down Expand Up @@ -154,8 +154,7 @@ private static ConfigurationContract FromJsonFile(string filePath, bool inspectM
{
var project =
optionalConfiguration?.Projects.FirstOrDefault(x =>
x.Name.Equals(projectName, StringComparison.OrdinalIgnoreCase))
?? configuration.Project;
x.Name.Equals(projectName, StringComparison.OrdinalIgnoreCase));
if (project != null)
{
project.Changelog =
Expand Down

0 comments on commit 69c5014

Please sign in to comment.