public void SubmitAbsoluteScore() { var userBusiness = new UserBusiness(); var requestObject = new AbsoluteScoreDTO() { Total = 100, User = 1, }; var result = userBusiness.SubmitAbsoluteScore(requestObject); Assert.IsNotNull(result); requestObject = new AbsoluteScoreDTO() { Total = 100, User = 500, }; result = userBusiness.SubmitAbsoluteScore(requestObject); Assert.IsNull(result); requestObject = new AbsoluteScoreDTO() { Total = 915154, User = 1, }; result = userBusiness.SubmitAbsoluteScore(requestObject); Assert.IsNull(result); }
public HttpResponseMessage PutSubmitAbsoluteScore(AbsoluteScoreDTO absoluteScoreDTO) { HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.InternalServerError); try { if (ModelState.IsValid) { UserBusiness userBusiness = new UserBusiness(); var result = userBusiness.SubmitAbsoluteScore(absoluteScoreDTO); 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 PutSubmitAbsoluteScore() { var controller = SetController(); var requestObject = new AbsoluteScoreDTO() { Total = 100, User = 1, }; controller.Validate(requestObject); var result = controller.PutSubmitAbsoluteScore(requestObject); Assert.IsNotNull(result.StatusCode); Assert.AreEqual(HttpStatusCode.OK, result.StatusCode); requestObject = new AbsoluteScoreDTO() { Total = 100, User = 500, }; controller.Validate(requestObject); result = controller.PutSubmitAbsoluteScore(requestObject); Assert.IsNotNull(result.StatusCode); Assert.AreEqual(HttpStatusCode.NotFound, result.StatusCode); requestObject = new AbsoluteScoreDTO() { Total = 915154, User = 1, }; controller.Validate(requestObject); result = controller.PutSubmitAbsoluteScore(requestObject); Assert.IsNotNull(result.StatusCode); Assert.AreEqual(HttpStatusCode.BadRequest, result.StatusCode); }
public UserDTO SubmitAbsoluteScore(AbsoluteScoreDTO absoluteScoreDTO) { Logger.Trace("UserBusiness", "SubmitAbsoluteScore", "Starting the method"); UserDTO result = null; try { var unitOfWork = Database.Context.Instance; var userRepository = new UserRepository(unitOfWork); var user = userRepository.GetById(absoluteScoreDTO.User); if (user != null && absoluteScoreDTO.Total >= 0 && absoluteScoreDTO.Total <= 1000) { if (user.Games != null) { //this is because for this specific test I only have used one game user.Games[0].Score = absoluteScoreDTO.Total; } 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", "SubmitAbsoluteScore", e.Message); throw e; } finally { Logger.Trace("UserBusiness", "SubmitAbsoluteScore", "Finishing method"); } return(result); }