public async Task UpdateCoffeeIntegrationTests_Put_Coffee_Rating_Returns_Expected_All_Validation_Errors() { // Arrange var client = this.fixture.factory.CreateClient(); // Act var coffeeRatingUpdate = new CoffeeRatingUpdate() { Id = 2, Comment = "", Rating = 99 }; var payload = JsonConvert.SerializeObject(coffeeRatingUpdate); var putContent = new StringContent(payload, Encoding.UTF8, "application/json"); var response = await client.PutAsync("/api/rating/55", putContent); var json = await response.Content.ReadAsStringAsync(); var content = JsonConvert.DeserializeObject <ValidationErrorsDto>(json); // Assert Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode); Assert.NotNull(content); Assert.Equal(4, content.ValidationErrors.Count()); }
public async Task UpdateCoffeeIntegrationTests_Put_Coffee_Rating_Returns_Rating_Validation_Errors() { // Arrange var client = this.fixture.factory.CreateClient(); // Act var coffeeRatingUpdate = new CoffeeRatingUpdate() { Id = 2, Comment = "Valid comment", Rating = 9999 }; var payload = JsonConvert.SerializeObject(coffeeRatingUpdate); var putContent = new StringContent(payload, Encoding.UTF8, "application/json"); var response = await client.PutAsync("/api/rating/2", putContent); var json = await response.Content.ReadAsStringAsync(); var content = JsonConvert.DeserializeObject <ValidationErrorsDto>(json); // Assert Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode); Assert.NotNull(content); Assert.Equal(1, content.ValidationErrors.Count()); var firstValidationError = content.ValidationErrors.ElementAt(0); Assert.Equal("Rating", firstValidationError.Field); Assert.Equal("Rating must be between 1 and 5.", firstValidationError.Message); }
public async Task UpdateCoffeeIntegrationTests_Put_Coffee_Rating_Returns_Id_Validation_Errors() { // Arrange var client = this.fixture.factory.CreateClient(); // Act var coffeeRatingUpdate = new CoffeeRatingUpdate() { Comment = "Valid comment", Rating = 5 }; var payload = JsonConvert.SerializeObject(coffeeRatingUpdate); var putContent = new StringContent(payload, Encoding.UTF8, "application/json"); var response = await client.PutAsync("/api/rating/55", putContent); var json = await response.Content.ReadAsStringAsync(); var content = JsonConvert.DeserializeObject <ValidationErrorsDto>(json); // Assert Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode); Assert.NotNull(content); Assert.Equal(2, content.ValidationErrors.Count()); var firstValidationError = content.ValidationErrors.ElementAt(0); var secondValidationError = content.ValidationErrors.ElementAt(1); Assert.Equal("Id", firstValidationError.Field); Assert.Equal("Id is required.", firstValidationError.Message); Assert.Equal("Id", secondValidationError.Field); Assert.Equal("Id must match route parameter.", secondValidationError.Message); }
public async Task UpdateCoffeeIntegrationTests_Put_Coffee_Rating_Returns_Not_Found_If_Entity_Does_Not_Exist() { // Arrange var client = this.fixture.factory.CreateClient(); // Act var coffeeRatingUpdate = new CoffeeRatingUpdate() { Id = 55, Comment = "Bad coffee, changed my mind.", Rating = 1 }; var payload = JsonConvert.SerializeObject(coffeeRatingUpdate); var putContent = new StringContent(payload, Encoding.UTF8, "application/json"); var response = await client.PutAsync("/api/rating/55", putContent); // Assert Assert.Equal(HttpStatusCode.NotFound, response.StatusCode); }
public async Task UpdateCoffeeIntegrationTests_Put_Coffee_Rating_Returns_Correct_Data() { // Arrange var client = this.fixture.factory.CreateClient(); // Act var coffeeRatingUpdate = new CoffeeRatingUpdate() { Id = 2, Comment = "Bad coffee, changed my mind.", Rating = 1 }; var payload = JsonConvert.SerializeObject(coffeeRatingUpdate); var putContent = new StringContent(payload, Encoding.UTF8, "application/json"); var response = await client.PutAsync("/api/rating/2", putContent); // Assert response.EnsureSuccessStatusCode(); Assert.Equal(HttpStatusCode.NoContent, response.StatusCode); }