public HttpResponseMessage PutSubmitRelativeScore(RelativeScoreDTO relativeScoreDTO) { HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.InternalServerError); try { if (ModelState.IsValid) { UserBusiness userBusiness = new UserBusiness(); var result = userBusiness.SubmitRelativeScore(relativeScoreDTO); if (result != null) { response = Request.CreateResponse(HttpStatusCode.OK, "Absolute score successfully updated"); } else { response = Request.CreateResponse(HttpStatusCode.NotFound, "User not found"); } } else { response = Request.CreateResponse(HttpStatusCode.BadRequest, "The request object doesn't match with the requirement"); } } catch (Exception e) { Logger.Error("UserController", "Get", e.Message); response = Request.CreateResponse(HttpStatusCode.InternalServerError, "Unexpected error"); } return(response); }
public void PutSubmitRelativeScore() { var controller = SetController(); var requestObject = new RelativeScoreDTO() { Score = "+10", User = 1, }; controller.Validate(requestObject); var result = controller.PutSubmitRelativeScore(requestObject); Assert.IsNotNull(result.StatusCode); Assert.AreEqual(HttpStatusCode.OK, result.StatusCode); requestObject = new RelativeScoreDTO() { Score = "-150", User = 1, }; controller.Validate(requestObject); result = controller.PutSubmitRelativeScore(requestObject); Assert.IsNotNull(result.StatusCode); Assert.AreEqual(HttpStatusCode.OK, result.StatusCode); requestObject = new RelativeScoreDTO() { Score = "+50", User = 500, }; controller.Validate(requestObject); result = controller.PutSubmitRelativeScore(requestObject); Assert.IsNotNull(result.StatusCode); Assert.AreEqual(HttpStatusCode.NotFound, result.StatusCode); requestObject = new RelativeScoreDTO() { Score = "carlos", User = 1, }; controller.Validate(requestObject); result = controller.PutSubmitRelativeScore(requestObject); Assert.IsNotNull(result.StatusCode); Assert.AreEqual(HttpStatusCode.InternalServerError, result.StatusCode); }
public void SubmitRelativeScore() { var userBusiness = new UserBusiness(); var requestObject = new RelativeScoreDTO() { Score = "+10", User = 1, }; var result = userBusiness.SubmitRelativeScore(requestObject); Assert.IsNotNull(result); requestObject = new RelativeScoreDTO() { Score = "-150", User = 1, }; result = userBusiness.SubmitRelativeScore(requestObject); Assert.IsNotNull(result); requestObject = new RelativeScoreDTO() { Score = "+50", User = 500, }; result = userBusiness.SubmitRelativeScore(requestObject); Assert.IsNull(result); requestObject = new RelativeScoreDTO() { Score = "carlos", User = 1, }; try { result = userBusiness.SubmitRelativeScore(requestObject); Assert.Fail(); // If it gets to this line, no exception was thrown } catch (Exception e) { } }
public UserDTO SubmitRelativeScore(RelativeScoreDTO relativeScoreDTO) { Logger.Trace("UserBusiness", "SubmitRelativeScore", "Starting the method"); UserDTO result = null; try { var unitOfWork = Database.Context.Instance; var userRepository = new UserRepository(unitOfWork); var user = userRepository.GetById(relativeScoreDTO.User); if (user != null) { if (user.Games != null) { //this is because for this specific test I only have used one game user.Games[0].Score = user.Games[0].Score + Int32.Parse(relativeScoreDTO.Score); } else { throw new BusinessCustomException("The user has not subscribed to any game"); } user = userRepository.Update(user); result = UserToUserDTO(user); } } catch (Exception e) { Logger.Error("UserBusiness", "SubmitRelativeScore", e.Message); throw e; } finally { Logger.Trace("UserBusiness", "SubmitRelativeScore", "Finishing method"); } return(result); }