public void MarkAsDeleted(BlogPost blogPost, int userId) { var deletionUser = LookupRepository.LoadForId<BlogUser>(userId); if (deletionUser == null) throw new UnknownUserException(userId); blogPost.MarkAsDeleted(deletionUser); BlogPostRepository.SaveOrUpdate(blogPost); }
public void MarkAsDeleted_WHEN_User_Is_Null_Throws_ArgumentNullException() { var imageReference1 = GetImageReference(); var post = new BlogPost("ABC", "description", "fullText", imageReference1, DateTime.Now, new BlogUser()); post.MarkAsDeleted(null as BlogUser); }
public void MarkAsDeleted_GIVEN_Already_Marked_As_Deleted_WHEN_MarkAsDeleted_Called_A_Second_Time_With_A_Differnt_User_THEN_Does_Not_Update_DeletedByUser() { TimeSpan waitBetweenUpdates = new TimeSpan(0, 0, 0, 0, 500); var deletionUser1 = new BlogUser { Id = 1, Forenames = "Joe", Surname = "Bloggs" }; var deletionUser2 = new BlogUser { Id = 2, Forenames = "Scrooge", Surname = "Bloggs" }; var imageReference1 = GetImageReference(); var post = new BlogPost("ABC", "description", "fullText", imageReference1, DateTime.Now, new BlogUser()); post.MarkAsDeleted(deletionUser1); post.MarkAsDeleted(deletionUser2); post.DeletedByUser.ShouldEqual(deletionUser1); }
public void MarkAsDeleted_Sets_DeletedDate_To_Now_And_DeletedByUser_Property_To_deltedByUser_parameter() { var deletionUser = new BlogUser { Id = 1, Forenames = "Joe", Surname = "Bloggs" }; var imageReference1 = GetImageReference(); var post = new BlogPost("ABC", "description", "fullText", imageReference1, DateTime.Now, new BlogUser()); post.MarkAsDeleted(deletionUser); post.DeletedDate.ShouldBeWithinLast(new TimeSpan(0, 0, 10)); post.DeletedByUser.ShouldEqual(deletionUser); }
public void MarkAsDeleted_GIVEN_Already_Marked_As_Deleted_WHEN_MarkAsDeleted_Called_A_Second_Time_THEN_Does_Not_Update_DeletedDate() { TimeSpan waitBetweenUpdates = new TimeSpan(0, 0, 0, 0, 100); var deletionUser = new BlogUser { Id = 1, Forenames = "Joe", Surname = "Bloggs" }; var imageReference1 = GetImageReference(); var post = new BlogPost("ABC", "description", "fullText", imageReference1, DateTime.Now, new BlogUser()); post.MarkAsDeleted(deletionUser); Thread.Sleep(waitBetweenUpdates); post.MarkAsDeleted(deletionUser); post.DeletedDate.ShouldNotBeWithinLast(waitBetweenUpdates); }