public void CreatesComments()
        {
            var target = new InlineCommentThreadViewModel(
                Substitute.For <IPullRequestSession>(),
                CreateComments("Comment 1", "Comment 2"));

            Assert.That(3, Is.EqualTo(target.Comments.Count));
            Assert.That(
                new[]
            {
                "Comment 1",
                "Comment 2",
                string.Empty
            },
                Is.EqualTo(target.Comments.Select(x => x.Body)));

            Assert.That(
                new[]
            {
                CommentEditState.None,
                CommentEditState.None,
                CommentEditState.Placeholder,
            },
                Is.EqualTo(target.Comments.Select(x => x.EditState)));
        }
        public void PlaceholderCommitEnabledWhenCommentHasBody()
        {
            var target = new InlineCommentThreadViewModel(
                Substitute.For <IPullRequestSession>(),
                CreateComments("Comment 1"));

            Assert.That(target.Comments[1].CommitEdit.CanExecute(null), Is.False);

            target.Comments[1].Body = "Foo";
            Assert.That(target.Comments[1].CommitEdit.CanExecute(null), Is.True);
        }
        public void PostsCommentInReplyToCorrectComment()
        {
            var session = CreateSession();
            var target  = new InlineCommentThreadViewModel(
                session,
                CreateComments("Comment 1", "Comment 2"));

            target.Comments[2].Body = "New Comment";
            target.Comments[2].CommitEdit.Execute(null);

            session.Received(1).PostReviewComment("New Comment", 1, "node1");
        }
예제 #4
0
        public void PostsCommentInReplyToCorrectComment()
        {
            var session = CreateSession();
            var target  = new InlineCommentThreadViewModel(
                Substitute.For <ICommentService>(),
                session,
                CreateComments("Comment 1", "Comment 2"));

            target.Comments[2].Body = "New Comment";
            target.Comments[2].CommitEdit.Execute();

            session.Received(1).PostReviewComment("New Comment", "1");
        }
        public void AddsPostedCommentToSession()
        {
            var session = CreateSession();
            var target  = new InlineCommentThreadViewModel(
                CreateApiClient(),
                session,
                CreateComments("Comment 1", "Comment 2"));

            target.Comments[2].Body = "New Comment";
            target.Comments[2].CommitEdit.Execute(null);

            session.Received(1).AddComment(Arg.Any <IPullRequestReviewCommentModel>());
        }
        public void PostsCommentInReplyToCorrectComment()
        {
            var apiClient = CreateApiClient();
            var target    = new InlineCommentThreadViewModel(
                apiClient,
                CreateSession(),
                CreateComments("Comment 1", "Comment 2"));

            target.Comments[2].Body = "New Comment";
            target.Comments[2].CommitEdit.Execute(null);

            apiClient.Received(1).CreatePullRequestReviewComment(
                "owner",
                "repo",
                47,
                "New Comment",
                1);
        }