public void AddsCommentToCorrectDeletedLine() { var apiClient = CreateApiClient(); var session = CreateSession(); var file = CreateFile(); file.Diff.Returns(new[] { new DiffChunk { Lines = { new DiffLine { OldLineNumber = 17, DiffLineNumber = 7 } } } }); var target = new NewInlineCommentThreadViewModel(apiClient, session, file, 16, true); target.Comments[0].Body = "New Comment"; target.Comments[0].CommitEdit.Execute(null); apiClient.Received(1).CreatePullRequestReviewComment( "owner", "repo", 47, "New Comment", "COMMIT_SHA", "file.cs", 7); }
public void AddsCommentToCorrectDeletedLine() { var session = CreateSession(); var file = CreateFile(); file.Diff.Returns(new[] { new DiffChunk { Lines = { new DiffLine { OldLineNumber = 17, DiffLineNumber = 7 } } } }); var target = new NewInlineCommentThreadViewModel(session, file, 16, true); target.Comments[0].Body = "New Comment"; target.Comments[0].CommitEdit.Execute(null); session.Received(1).PostReviewComment( "New Comment", "COMMIT_SHA", "file.cs", Arg.Any <IReadOnlyList <DiffChunk> >(), 7); }
public void CreatesReplyPlaceholder() { var target = new NewInlineCommentThreadViewModel( Substitute.For <IPullRequestSession>(), Substitute.For <IPullRequestSessionFile>(), 10, false); Assert.That(target.Comments, Has.One.Items); Assert.That(string.Empty, Is.EqualTo(target.Comments[0].Body)); Assert.That(CommentEditState.Editing, Is.EqualTo(target.Comments[0].EditState)); }
public void AddsPostedCommentToSession() { var apiClient = CreateApiClient(); var session = CreateSession(); var file = CreateFile(); var target = new NewInlineCommentThreadViewModel(apiClient, session, file, 10, false); target.Comments[0].Body = "New Comment"; target.Comments[0].CommitEdit.Execute(null); session.Received(1).AddComment(Arg.Any <IPullRequestReviewCommentModel>()); }
public void CreatesReplyPlaceholder() { var target = new NewInlineCommentThreadViewModel( Substitute.For <IPullRequestSession>(), Substitute.For <IPullRequestSessionFile>(), 10, false); Assert.Single(target.Comments); Assert.Equal(string.Empty, target.Comments[0].Body); Assert.Equal(CommentEditState.Editing, target.Comments[0].EditState); }
public void PostsCommentToCorrectAddedLine() { var session = CreateSession(); var file = CreateFile(); var target = new NewInlineCommentThreadViewModel(session, file, 10, false); target.Comments[0].Body = "New Comment"; target.Comments[0].CommitEdit.Execute(null); session.Received(1).PostReviewComment( "New Comment", "COMMIT_SHA", "file.cs", 5); }
public void SignalsFinishedWhenCommentPosted() { var session = CreateSession(); var file = CreateFile(); var target = new NewInlineCommentThreadViewModel(session, file, 10, false); var signalled = false; target.Finished.Subscribe(_ => signalled = true); Assert.False(signalled); target.Comments[0].Body = "New Comment"; target.Comments[0].CommitEdit.Execute(null); Assert.True(signalled); }
public void PostsCommentToCorrectAddedLine() { var session = CreateSession(); var file = CreateFile(); var target = new NewInlineCommentThreadViewModel( Substitute.For <ICommentService>(), session, file, 10, false); target.Comments[0].Body = "New Comment"; target.Comments[0].CommitEdit.Execute(null); session.Received(1).PostReviewComment( "New Comment", "COMMIT_SHA", "file.cs", Arg.Any <IReadOnlyList <DiffChunk> >(), 5); }
public void PostsCommentToCorrectAddedLine() { var apiClient = CreateApiClient(); var session = CreateSession(); var file = CreateFile(); var target = new NewInlineCommentThreadViewModel(apiClient, session, file, 10, false); target.Comments[0].Body = "New Comment"; target.Comments[0].CommitEdit.Execute(null); apiClient.Received(1).CreatePullRequestReviewComment( "owner", "repo", 47, "New Comment", "COMMIT_SHA", "file.cs", 5); }
public void PlaceholderCommitEnabledWhenCommentHasBodyAndPostCommentIsEnabled() { var file = CreateFile(); var target = new NewInlineCommentThreadViewModel( Substitute.For <IPullRequestSession>(), file, 10, false); file.CommitSha.Returns((string)null); RaisePropertyChanged(file, nameof(file.CommitSha)); Assert.That(target.Comments[0].CommitEdit.CanExecute(null), Is.False); target.Comments[0].Body = "Foo"; Assert.That(target.Comments[0].CommitEdit.CanExecute(null), Is.False); file.CommitSha.Returns("COMMIT_SHA"); RaisePropertyChanged(file, nameof(file.CommitSha)); Assert.That(target.Comments[0].CommitEdit.CanExecute(null), Is.True); }
public void NeedsPushTracksFileCommitSha() { var file = CreateFile(); var target = new NewInlineCommentThreadViewModel( Substitute.For <IPullRequestSession>(), file, 10, false); Assert.That(target.NeedsPush, Is.False); Assert.That(target.PostComment.CanExecute(false), Is.True); file.CommitSha.Returns((string)null); RaisePropertyChanged(file, nameof(file.CommitSha)); Assert.That(target.NeedsPush, Is.True); Assert.That(target.PostComment.CanExecute(false), Is.False); file.CommitSha.Returns("COMMIT_SHA"); RaisePropertyChanged(file, nameof(file.CommitSha)); Assert.That(target.NeedsPush, Is.False); Assert.That(target.PostComment.CanExecute(false), Is.True); }