public void CanCreate_should_throw_exception_if_text_not_defined() { var command = new CreateComment(); ValidationAssert.Throws(() => GuardComments.CanCreate(command), new ValidationError("Text is required.", "Text")); }
public void CanCreate_should_not_throw_exception_if_text_defined() { var command = new CreateComment { Text = "text" }; GuardComments.CanCreate(command); }
public void CanUpdate_should_throw_exception_if_comment_not_found() { var commentId = DomainId.NewGuid(); var command = new UpdateComment { CommentId = commentId, Actor = user1 }; var events = new List <Envelope <CommentsEvent> >(); Assert.Throws <DomainObjectNotFoundException>(() => GuardComments.CanUpdate(commentsId, events, command)); }
public void CanUpdate_should_throw_exception_if_comment_from_another_user() { var commentId = DomainId.NewGuid(); var command = new UpdateComment { CommentId = commentId, Actor = user2, Text = "text2" }; var events = new List <Envelope <CommentsEvent> > { Envelope.Create <CommentsEvent>(new CommentCreated { CommentId = commentId, Actor = user1 }).To <CommentsEvent>() }; Assert.Throws <DomainException>(() => GuardComments.CanUpdate(commentsId, events, command)); }
public void CanDelete_should_not_throw_exception_if_comment_from_same_user() { var commentId = DomainId.NewGuid(); var command = new DeleteComment { CommentId = commentId, Actor = user1 }; var events = new List <Envelope <CommentsEvent> > { Envelope.Create <CommentsEvent>(new CommentCreated { CommentId = commentId, Actor = user1 }).To <CommentsEvent>() }; GuardComments.CanDelete(commentsId, events, command); }
public void CanUpdate_should_not_throw_exception_if_comment_is_own_notification() { var commentId = DomainId.NewGuid(); var command = new UpdateComment { CommentId = commentId, Actor = user1, Text = "text2" }; var events = new List <Envelope <CommentsEvent> > { Envelope.Create <CommentsEvent>(new CommentCreated { CommentId = commentId, Actor = user1 }).To <CommentsEvent>() }; GuardComments.CanUpdate(user1.Identifier, events, command); }
public void CanUpdate_should_not_throw_exception_if_comment_from_same_user() { var commentId = Guid.NewGuid(); var command = new UpdateComment { CommentId = commentId, Actor = user1, Text = "text2" }; var events = new List <Envelope <CommentsEvent> > { Envelope.Create(new CommentCreated { CommentId = commentId, Actor = user1 }).To <CommentsEvent>() }; GuardComments.CanUpdate(events, command); }
public void CanUpdate_should_throw_exception_if_text_not_defined() { var commentId = DomainId.NewGuid(); var command = new UpdateComment { CommentId = commentId, Actor = user1 }; var events = new List <Envelope <CommentsEvent> > { Envelope.Create <CommentsEvent>(new CommentCreated { CommentId = commentId, Actor = user1 }).To <CommentsEvent>() }; ValidationAssert.Throws(() => GuardComments.CanUpdate(commentsId, events, command), new ValidationError("Text is required.", "Text")); }
public void CanUpdate_should_throw_exception_if_comment_deleted_found() { var commentId = DomainId.NewGuid(); var command = new UpdateComment { CommentId = commentId, Actor = user1 }; var events = new List <Envelope <CommentsEvent> > { Envelope.Create <CommentsEvent>(new CommentCreated { CommentId = commentId, Actor = user1 }).To <CommentsEvent>(), Envelope.Create <CommentsEvent>(new CommentDeleted { CommentId = commentId }).To <CommentsEvent>() }; Assert.Throws <DomainObjectNotFoundException>(() => GuardComments.CanUpdate(commentsId, events, command)); }