Exemplo n.º 1
0
        public async Task Run_does_nothing_for_empty_changelog()
        {
            // ARRANGE
            var repo   = Mock.Of <IGitRepository>(MockBehavior.Strict);
            var config = ChangeLogConfigurationLoader.GetDefaultConfiguration();

            var sut = new LoadMessageOverridesFromGitNotesTask(m_Logger, config, repo);

            // ACT
            var changelog = new ApplicationChangeLog();
            var result    = await sut.RunAsync(changelog);

            // ASSERT
            Assert.Equal(ChangeLogTaskResult.Skipped, result);
        }
Exemplo n.º 2
0
        public async Task Run_replaces_commit_messages_with_messages_from_git_notes_a_git_not_exists(string?gitNotesNamespace)
        {
            // ARRANGE
            var config = ChangeLogConfigurationLoader.GetDefaultConfiguration();

            if (gitNotesNamespace is not null)
            {
                config.MessageOverrides.GitNotesNamespace = gitNotesNamespace;
            }

            var commit1          = GetGitCommit(id: TestGitIds.Id1, commitMessage: "Original Message 1");
            var commit2          = GetGitCommit(id: TestGitIds.Id2, commitMessage: "Original Message 2");
            var versionChangeLog = GetSingleVersionChangeLog("1.2.3", TestGitIds.Id1);
            {
                versionChangeLog.Add(commit1);
                versionChangeLog.Add(commit2);
            }

            var repo = new Mock <IGitRepository>(MockBehavior.Strict);
            {
                repo.Setup(x => x.GetNotes(commit1.Id)).Returns(Array.Empty <GitNote>());

                repo
                .Setup(x => x.GetNotes(commit2.Id))
                .Returns(new[]
                {
                    new GitNote(commit2.Id, "commits", "some text"),
                    new GitNote(commit2.Id, gitNotesNamespace ?? "changelog/message-overrides", "Overridden Message 2"),
                });
            }

            var sut = new LoadMessageOverridesFromGitNotesTask(m_Logger, config, repo.Object);

            // ACT
            var result = await sut.RunAsync(new ApplicationChangeLog()
            {
                versionChangeLog
            });

            // ASSERT
            Assert.Equal(ChangeLogTaskResult.Success, result);
            Assert.Collection(
                versionChangeLog.AllCommits,
                c => Assert.Equal(commit1, c),
                c => Assert.Equal(commit2.WithCommitMessage("Overridden Message 2"), c)
                );
        }