public void Put_WhenRatingResourceInvalid_ReturnsWithValidationErrors() { // Get a list of bids so we can grab the correct id that is stored in // the (in)memory db var getResources = _client.AuthorizeRequest().GetAsync(APIROUTE).Result; getResources.EnsureSuccessStatusCode(); var resourcesRaw = getResources.Content.ReadAsStringAsync().Result; var resources = JsonConvert.DeserializeObject <IEnumerable <RatingResource> >(resourcesRaw); // Verify we have something to look up Assert.NotEmpty(resources); // The Test // Arrange - Grab first one var resource = resources.FirstOrDefault(); var rating = new EditRatingResource { FitchRating = "blah", MoodysRating = "blah", SandPRating = "blahasd asd asdasd asd asda dasd asdasdddddasdasdad das asd too long failure" }; // Act var response = _client.AuthorizeRequest().PutAsync(APIROUTE + resource.Id, ClientHelper.EncodeContent(rating)).Result; var json = response.Content.ReadAsStringAsync().Result; Assert.Equal(System.Net.HttpStatusCode.BadRequest, response.StatusCode); Assert.Contains("validation errors", json); }
public ValidationResult ValidateResource(EditRatingResource resource) { var result = new ValidationResult(); if (resource != null) { var validator = new RatingValidator(); var vr = validator.Validate(resource); if (vr.IsValid) { result.IsValid = true; return(result); } if (vr.Errors.Any()) { foreach (var error in vr.Errors) { result.ErrorMessages.Add(error.PropertyName, error.ErrorMessage); } } } return(result); }
public void Put_ReturnsOk() { // Get a list of bids so we can grab the correct id that is stored in // the (in)memory db var getResources = _client.AuthorizeRequest().GetAsync(APIROUTE).Result; getResources.EnsureSuccessStatusCode(); var resourcesRaw = getResources.Content.ReadAsStringAsync().Result; var resources = JsonConvert.DeserializeObject <IEnumerable <RatingResource> >(resourcesRaw); // Verify we have something to look up Assert.NotEmpty(resources); // The Test // Arrange - Grab first one var resource = resources.FirstOrDefault(); var rating = new EditRatingResource { FitchRating = "blah", MoodysRating = "blah", SandPRating = "blah" }; // Act var response = _client.AuthorizeRequest().PutAsync(APIROUTE + resource.Id, ClientHelper.EncodeContent(rating)).Result; // Assert Ok response.EnsureSuccessStatusCode(); }
public IActionResult Create([FromBody] EditRatingResource rating) { AppLogger.LogResourceRequest(nameof(Create), base.GetUsernameForRequest()); try { var result = _ratingService.ValidateResource(rating); if (!result.IsValid) { GetErrorsForModelState(result.ErrorMessages); } if (ModelState.IsValid) { _ratingService.Add(rating); return(CreatedAtAction(nameof(Create), rating)); } return(ValidationProblem()); } catch (Exception ex) { return(BadRequestExceptionHandler(ex, nameof(Create))); } }
public IActionResult Update(int id, [FromBody] EditRatingResource rating) { AppLogger.LogResourceRequest(nameof(Update), base.GetUsernameForRequest()); try { var result = _ratingService.ValidateResource(rating); if (!result.IsValid) { GetErrorsForModelState(result.ErrorMessages); } if (ModelState.IsValid) { var checkRating = _ratingService.FindById(id); if (checkRating == null) { return(NotFound(AppConfig.ResourceNotFoundById + id)); } _ratingService.Update(id, rating); return(Ok()); } return(ValidationProblem()); } catch (Exception ex) { return(BadRequestExceptionHandler(ex, nameof(Update))); } }
public void Update(int id, EditRatingResource resource) { var rating = _ratingRepo.FindById(id); if (resource != null && rating != null) { _ratingRepo.Update(id, _mapper.Map(resource, rating)); _ratingRepo.SaveChanges(); } }
public RatingResource Add(EditRatingResource resource) { if (resource == null) { throw new ArgumentNullException(); } var rating = _mapper.Map <Rating>(resource); _ratingRepo.Add(rating); _ratingRepo.SaveChanges(); return(_mapper.Map <RatingResource>(rating)); }
public void Put_WhenNull_ReturnsNotFound() { var rating = new EditRatingResource { FitchRating = "blah", MoodysRating = "blah", SandPRating = "blah" }; // Act var response = _client.AuthorizeRequest().PutAsync(APIROUTE + 99999, ClientHelper.EncodeContent(rating)).Result; // Assert Assert.Equal(System.Net.HttpStatusCode.NotFound, response.StatusCode); }
public void Post_WhenResourceIsInvalied_ReturnsBadRequestWithValidationErrors() { var rating = new EditRatingResource { FitchRating = "blah this is wayyyyyyy to long !!!!!!!!!! ", MoodysRating = "blah", SandPRating = "blah" }; var response = _client.AuthorizeRequest().PostAsync(APIROUTE, ClientHelper.EncodeContent(rating)).Result; var json = response.Content.ReadAsStringAsync().Result; Assert.Equal(System.Net.HttpStatusCode.BadRequest, response.StatusCode); Assert.Contains("validation errors", json); }
public void Post_ReturnsOk_WithNewRatingResource() { var rating = new EditRatingResource { FitchRating = "blah", MoodysRating = "blah", SandPRating = "blah" }; var response = _client.AuthorizeRequest().PostAsync(APIROUTE, ClientHelper.EncodeContent(rating)).Result; response.EnsureSuccessStatusCode(); var json = response.Content.ReadAsStringAsync().Result; var result = JsonConvert.DeserializeObject <RatingResource>(json); Assert.NotNull(result); Assert.IsType <RatingResource>(result); }