Beispiel #1
0
        public async Task Execute_does_not_replace_commit_references_if_no_entry_can_be_found()
        {
            // ARRANGE
            var testData = new TestDataFactory();

            var sut = new ResolveEntryReferencesTask(m_Logger);

            var footer = new ChangeLogEntryFooter(
                new CommitMessageFooterName("footer-name"),
                new CommitReferenceTextElement("some-text", TestGitIds.Id3)
                );
            var changelog = new ApplicationChangeLog()
            {
                testData.GetSingleVersionChangeLog("1.0", entries: new[]
                {
                    testData.GetChangeLogEntry(commit: TestGitIds.Id1),
                    testData.GetChangeLogEntry(commit: TestGitIds.Id2, footers: new[] { footer })
                })
            };

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

            // ASSERT
            Assert.Equal(ChangeLogTaskResult.Success, result);
            var commitReference = Assert.IsType <CommitReferenceTextElement>(footer.Value);

            Assert.Equal("some-text", commitReference.Text);
            Assert.Equal(TestGitIds.Id3, commitReference.CommitId);
        }
Beispiel #2
0
        public async Task Execute_replaces_commit_references_if_commit_refers_to_a_change_log_entry_in_a_different_version()
        {
            // ARRANGE
            var testData = new TestDataFactory();

            var sut = new ResolveEntryReferencesTask(m_Logger);

            var footer = new ChangeLogEntryFooter(
                new CommitMessageFooterName("footer-name"),
                new CommitReferenceTextElement("some-text", TestGitIds.Id1)
                );
            var entry1 = testData.GetChangeLogEntry(commit: TestGitIds.Id1);
            var entry2 = testData.GetChangeLogEntry(commit: TestGitIds.Id2, footers: new[] { footer });

            var changelog = new ApplicationChangeLog()
            {
                testData.GetSingleVersionChangeLog("2.0", entries: new[] { entry1 }),
                testData.GetSingleVersionChangeLog("1.0", entries: new[] { entry2 })
            };

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

            // ASSERT
            Assert.Equal(ChangeLogTaskResult.Success, result);
            var entryReference = Assert.IsType <ChangeLogEntryReferenceTextElement>(footer.Value);

            Assert.Equal("some-text", entryReference.Text);
            Assert.Same(entry1, entryReference.Entry);
        }