public void CommentEditPresenter_EditCommentShouldReturnMessageWhenContentLengthNotInRange(string testContent) { var view = new Mock <ICommentEditView>(); view.SetupAllProperties(); var forumData = new Mock <IForumData>(); var comment = new Comment() { Id = 1, IsVisible = true }; forumData.Setup(f => f.CommentsRepository.GetCommentById(It.IsAny <int>())).Returns(comment); var presenter = new CommentEditPresenter(view.Object, forumData.Object); view.Raise(v => v.EditComment += null, view.Object, new ContentEventArgs(1, testContent)); StringAssert.Contains("Content must be between", view.Object.Model.Error); }
public void CommentEditPresenter_GetCommentShouldGetItCorrectly() { var view = new Mock <ICommentEditView>(); view.SetupAllProperties(); var forumData = new Mock <IForumData>(); var presenter = new CommentEditPresenter(view.Object, forumData.Object); var comment = new Comment() { Id = 1, IsVisible = true }; forumData.Setup(t => t.CommentsRepository.GetCommentById(It.Is <int>(x => x == 1))).Returns(comment); view.Raise(v => v.GetComment += null, view.Object, new GetByIdEventArgs(1)); Assert.AreEqual(comment, view.Object.Model.Comment); }
public void CommentEditPresenter_GetCommentShouldReturnMessageWhenNotVisible() { var view = new Mock <ICommentEditView>(); view.SetupAllProperties(); var forumData = new Mock <IForumData>(); var presenter = new CommentEditPresenter(view.Object, forumData.Object); var comment = new Comment() { Id = 1, IsVisible = false }; forumData.Setup(t => t.CommentsRepository.GetCommentById(It.Is <int>(x => x == 1))).Returns(comment); view.Raise(v => v.GetComment += null, view.Object, new GetByIdEventArgs(1)); StringAssert.Contains("File not found", view.Object.Model.Error); }
public void CommentEditPresenter_EditCommentShouldThrowIfDbAnswersFail() { var view = new Mock <ICommentEditView>(); view.SetupAllProperties(); var forumData = new Mock <IForumData>(); var comment = new Comment() { Id = 1, IsVisible = true }; forumData.Setup(f => f.CommentsRepository.GetCommentById(It.IsAny <int>())).Returns(comment); forumData.Setup(f => f.CommentsRepository.UpdateComment(It.IsAny <Comment>())).Throws(new Exception()); var presenter = new CommentEditPresenter(view.Object, forumData.Object); var testContent = "TestContent Should be at least 50 characters long!!!"; Assert.Throws <HttpException>(() => view.Raise(v => v.EditComment += null, view.Object, new ContentEventArgs(1, testContent))); }
public void CommentEditPresenter_EditCommentShouldTrimContent() { var view = new Mock <ICommentEditView>(); view.SetupAllProperties(); var forumData = new Mock <IForumData>(); var comment = new Comment() { Id = 1, IsVisible = true }; forumData.Setup(f => f.CommentsRepository.GetCommentById(It.IsAny <int>())).Returns(comment); var presenter = new CommentEditPresenter(view.Object, forumData.Object); var testContent = " TestContent Should be at least 50 characters long!!! "; var expectedContent = "TestContent Should be at least 50 characters long!!!"; view.Raise(v => v.EditComment += null, view.Object, new ContentEventArgs(1, testContent)); forumData.Verify(r => r.CommentsRepository.UpdateComment(It.Is <Comment>(a => a.Contents == expectedContent)), Times.Once); forumData.Verify(x => x.Save(), Times.Once); }