public void WhenUserProfileIdRemoveTheCommentInTheLessonOfClassRoom(string userprofileName, string commentId, string lessonId, string classRoomId) { var mockCommentRepo = ScenarioContext.Current.Get<Mock<ICommentRepository>>(); mockCommentRepo.Setup(it => it.UpsertComment(It.IsAny<Comment>())); var commentCtrl = ScenarioContext.Current.Get<CommentController>(); var body = new RemoveCommentRequest { ClassRoomId = classRoomId, LessonId = lessonId, UserProfileId = userprofileName }; commentCtrl.Put(commentId, body); }
// PUT: api/comment/{comment-id} public void Put(string id, RemoveCommentRequest body) { var areArgumentsValid = !string.IsNullOrEmpty(id) && body != null && !string.IsNullOrEmpty(body.ClassRoomId) && !string.IsNullOrEmpty(body.LessonId) && !string.IsNullOrEmpty(body.UserProfileId); if (!areArgumentsValid) return; var canAccessToTheClassRoom = checkAccessPermissionToSelectedClassRoom(body.UserProfileId, body.ClassRoomId); if (!canAccessToTheClassRoom) return; var now = _dateTime.GetCurrentTime(); var canAccessToTheClassLesson = checkAccessPermissionToSelectedClassLesson(body.ClassRoomId, body.LessonId, now); if (!canAccessToTheClassLesson) return; var selectedComment = _commentRepo.GetCommentById(id); if (selectedComment == null) return; var isCommentOwner = selectedComment.CreatedByUserProfileId.Equals(body.UserProfileId, StringComparison.CurrentCultureIgnoreCase); if (!isCommentOwner) return; selectedComment.DeletedDate = now; _commentRepo.UpsertComment(selectedComment); }