public void Comment_EditingWithValidDataWithinDeadline_Successfully() { // Arrange var target = new CommentBuilder().SetupValidComment().Build(); var originalId = target.Id; var originalUserId = target.UserId; var originalCreatedOn = target.CreatedOn; var originalParentQuestion = target.ParentQuestion; var originalParentAnswer = target.ParentAnswer; var userId = new Guid("00000000-0000-0000-0000-000000000002"); var newBody = "NewBodyNormal"; var limits = new LimitsBuilder().Build(); // Act target.Edit(target.User, newBody, limits); // Assert Assert.Equal(originalId, target.Id); Assert.Equal(originalUserId, target.UserId); Assert.Equal(originalCreatedOn, target.CreatedOn); Assert.Equal(originalParentQuestion, target.ParentQuestion); Assert.Equal(originalParentAnswer, target.ParentAnswer); Assert.Equal(newBody, target.Body); }
public void Comment_EditingWithInvalidData_FailsValidation(string userId, string body) { // Arrange var target = new CommentBuilder().SetupValidComment().Build(); var limits = new LimitsBuilder().Build(); var user = new UserBuilder().BuildUser(new Guid(userId)).Build(); // Act, Assert Assert.Throws <BusinessException>(() => target.Edit(user, body, limits)); }
public void Comment_EditingOutsideDeadline_Fails() { // Arrange - Build Question, 1 minute after deadline. var limits = new LimitsBuilder().Build(); var target = new CommentBuilder() .SetupValidComment() .MakeTimeGoBy() .Build(); // Arrange - Edit Data string editedBody = "BodyNormal"; // Act, Assert Assert.Throws <BusinessException>(() => target.Edit(target.User, editedBody, limits)); }