public void Execute_WhenTodoItemIdNotFound_ShouldReturnError() { //---------------Arrange------------------- var testContext = new CreateCommentUseCaseTestDataBuilder().WithTodoItemTo(null).Build(); var usecase = testContext.UseCase; var input = new CreateCommentInput { TodoItemId = Guid.NewGuid(), Comment = "a comment" }; var presenter = new PropertyPresenter <CreateCommentOutput, ErrorOutputMessage>(); //---------------Act---------------------- usecase.Execute(input, presenter); //---------------Assert----------------------- Assert.IsTrue(presenter.ErrorContent.HasErrors); Assert.AreEqual("Invalid item Id", presenter.ErrorContent.Errors[0]); }
public void Execute_WhenValidTodoItemId_ShouldReturnSuccess() { //---------------Arrange------------------- var commentId = Guid.NewGuid(); var itemId = Guid.NewGuid(); var testContext = new CreateCommentUseCaseTestDataBuilder().WithCommentId(commentId).Build(); var usecase = testContext.UseCase; var input = new CreateCommentInput { TodoItemId = itemId, Comment = "a comment" }; var presenter = new PropertyPresenter <CreateCommentOutput, ErrorOutputMessage>(); //---------------Act---------------------- usecase.Execute(input, presenter); //---------------Assert----------------------- Assert.AreEqual(commentId, presenter.SuccessContent.Id); testContext.Repository.Received(1).Persist(); }