public void EditStudentNickname() { AddStudentRequest request = new AddStudentRequest() { Nickname = AlphaNumericStringGenerator.GetString(10), SID = AlphaNumericStringGenerator.GetStudentIDString() }; StudentFacade studentFacade = new StudentFacade(); AddStudentResponse response = studentFacade.AddStudentNickname(request); Assert.AreEqual(HttpStatusCode.OK, response.Status); EditStudentNicknameRequest editStudentNicknameRequest = new EditStudentNicknameRequest() { Nickname = AlphaNumericStringGenerator.GetString(10) }; EditStudentNicknameResponse editStudentNicknameResponse = studentFacade.EditStudentNickname(response.StudentID, editStudentNicknameRequest); Assert.AreEqual(HttpStatusCode.OK, editStudentNicknameResponse.Status); Assert.IsTrue(editStudentNicknameResponse.Result); using (helpdesksystemContext context = new helpdesksystemContext()) { var nickname = context.Nicknames.FirstOrDefault(n => n.StudentId == response.StudentID); Assert.AreEqual(editStudentNicknameRequest.Nickname, nickname.NickName); } }
public void EditStudentNicknameNotFound() { StudentFacade studentFacade = new StudentFacade(); EditStudentNicknameRequest editStudentNicknameRequest = new EditStudentNicknameRequest() { Nickname = AlphaNumericStringGenerator.GetString(10), }; EditStudentNicknameResponse editStudentNicknameResponse = studentFacade.EditStudentNickname(-1, editStudentNicknameRequest); Assert.AreEqual(HttpStatusCode.NotFound, editStudentNicknameResponse.Status); }
/// <summary> /// This method is responsible for updating a specific students's nickname /// </summary> /// <param name="id">The StudentID of the student to be updated</param> /// <param name="request">The student's new nickname</param> /// <returns>The response that indicates if the update was successfull</returns> public EditStudentNicknameResponse EditStudentNickname(int id, EditStudentNicknameRequest request) { s_logger.Info("Editing student's nickname..."); EditStudentNicknameResponse response = new EditStudentNicknameResponse(); try { response = (EditStudentNicknameResponse)request.CheckValidation(response); if (response.Status == HttpStatusCode.BadRequest) { return(response); } var dataLayer = new StudentDatalayer(); var nickname = dataLayer.GetStudentNicknameByNickname(request.Nickname); if (nickname != null) { response.Status = HttpStatusCode.BadRequest; response.StatusMessages.Add(new StatusMessage(HttpStatusCode.BadRequest, "This nickname is already being used.")); return(response); } bool result = dataLayer.EditStudentNickname(id, request); if (result == false) { throw new NotFoundException("Unable to find student!"); } response.Result = result; response.Status = HttpStatusCode.OK; } catch (NotFoundException ex) { s_logger.Error(ex, "Unable to find student!"); response.Status = HttpStatusCode.NotFound; response.StatusMessages.Add(new StatusMessage(HttpStatusCode.NotFound, "Unable to find student!")); } catch (Exception ex) { s_logger.Error(ex, "Unable to update student's nickname!"); response.Status = HttpStatusCode.InternalServerError; response.StatusMessages.Add(new StatusMessage(HttpStatusCode.InternalServerError, "Unable to update student's nickname!")); } return(response); }
public void EditStudentNicknameExists() { AddStudentRequest request = new AddStudentRequest() { Nickname = AlphaNumericStringGenerator.GetString(10), SID = AlphaNumericStringGenerator.GetStudentIDString() }; StudentFacade studentFacade = new StudentFacade(); AddStudentResponse response = studentFacade.AddStudentNickname(request); Assert.AreEqual(HttpStatusCode.OK, response.Status); EditStudentNicknameRequest editStudentNicknameRequest = new EditStudentNicknameRequest() { Nickname = request.Nickname }; EditStudentNicknameResponse editStudentNicknameResponse = studentFacade.EditStudentNickname(response.StudentID, editStudentNicknameRequest); Assert.AreEqual(HttpStatusCode.BadRequest, editStudentNicknameResponse.Status); }