示例#1
0
            public void Should_Set_Comments()
            {
                // Given
                var comments =
                    new List <IPullRequestDiscussionComment>
                {
                    new PullRequestDiscussionComment
                    {
                        Content   = "Foo",
                        IsDeleted = false
                    },
                    new PullRequestDiscussionComment
                    {
                        Content   = "Bar",
                        IsDeleted = true
                    }
                };

                // When
                var thread =
                    new PullRequestDiscussionThread(
                        1,
                        PullRequestDiscussionStatus.Active,
                        "foo.cs",
                        comments);

                // Then
                thread.Comments.ShouldContain(comment => comments.Contains(comment), comments.Count);
            }
            public void Should_Call_InternalResolveDiscussionThreads()
            {
                // Given
                var log = new FakeLog();
                var pullRequestSystem = new FakePullRequestSystem(log);
                var settings          = new ReportIssuesToPullRequestSettings(@"c:\repo");
                var discussionThread1 =
                    new PullRequestDiscussionThread(
                        1,
                        PullRequestDiscussionStatus.Active,
                        new FilePath(@"src\Cake.Issues.Tests\Foo.cs"),
                        new List <IPullRequestDiscussionComment>
                {
                    new PullRequestDiscussionComment()
                    {
                        Content   = "Message Foo",
                        IsDeleted = false
                    }
                })
                {
                    CommentIdentifier = "Message Foo",
                    CommentSource     = settings.CommentSource,
                };
                var discussionThread2 =
                    new PullRequestDiscussionThread(
                        1,
                        PullRequestDiscussionStatus.Active,
                        new FilePath(@"src\Cake.Issues.Tests\Bar.cs"),
                        new List <IPullRequestDiscussionComment>
                {
                    new PullRequestDiscussionComment()
                    {
                        Content   = "Message Bar",
                        IsDeleted = false
                    }
                })
                {
                    CommentIdentifier = "Message Bar",
                    CommentSource     = settings.CommentSource,
                };
                var discussionThreads =
                    new List <IPullRequestDiscussionThread>
                {
                    discussionThread1, discussionThread2
                };
                var capability = new FakeDiscussionThreadsCapability(log, pullRequestSystem, discussionThreads);

                // When
                pullRequestSystem.Initialize(settings);
                capability.ResolveDiscussionThreads(
                    new List <IPullRequestDiscussionThread>
                {
                    discussionThread1
                });

                // Then
                capability.ResolvedThreads.ShouldContain(discussionThread1);
            }
示例#3
0
            public void Should_Set_Status(PullRequestDiscussionStatus status)
            {
                // Given / When
                var thread =
                    new PullRequestDiscussionThread(
                        1,
                        status,
                        "foo.cs",
                        new List <IPullRequestDiscussionComment>());

                // Then
                thread.Status.ShouldBe(status);
            }
示例#4
0
            public void Should_Set_Id(int id)
            {
                // Given / When
                var thread =
                    new PullRequestDiscussionThread(
                        id,
                        PullRequestDiscussionStatus.Active,
                        "foo.cs",
                        new List <IPullRequestDiscussionComment>());

                // Then
                thread.Id.ShouldBe(id);
            }
示例#5
0
            public void Should_Handle_File_Paths_Which_Are_Null()
            {
                // Given / When
                var thread =
                    new PullRequestDiscussionThread(
                        1,
                        PullRequestDiscussionStatus.Active,
                        null,
                        new List <IPullRequestDiscussionComment>());

                // Then
                thread.AffectedFileRelativePath.ShouldBe(null);
            }
示例#6
0
            public void Should_Set_File_Path(string filePath, string expectedFilePath)
            {
                // Given / When
                var thread =
                    new PullRequestDiscussionThread(
                        1,
                        PullRequestDiscussionStatus.Active,
                        filePath,
                        new List <IPullRequestDiscussionComment>());

                // Then
                thread.AffectedFileRelativePath.ToString().ShouldBe(expectedFilePath);
                thread.AffectedFileRelativePath.IsRelative.ShouldBe(true, "File path was not set as relative.");
            }