public async Task Create_With_Invalid_Name_Returns_Expected_Validation_Error(string name) { // Arrange var newIngredient = new IngredientNewModel { Name = name, Description = "Mléko plnotučné" }; var newIngredientSerialized = JsonConvert.SerializeObject(newIngredient); var stringContent = new StringContent(newIngredientSerialized, Encoding.UTF8, "application/json"); // Act var response = await _client.PostAsync("api/ingredient?version=3.0&culture=en", stringContent); // Assert response.StatusCode.Should().Be(HttpStatusCode.BadRequest); //var problemDetails = JsonConvert.DeserializeObject<ProblemDetails>(await response.Content.ReadAsStringAsync()); //var serializableError = JsonConvert.DeserializeObject<SerializableError>(await response.Content.ReadAsStringAsync()); var validationProblemDetails = JsonConvert.DeserializeObject <ValidationProblemDetails>(await response.Content.ReadAsStringAsync()); validationProblemDetails.Errors.Should().HaveCount(1); validationProblemDetails.Errors["Name"][0].Should().Be("Ingredient name length must be between 3 and 100 characters"); validationProblemDetails.Title.Should().Be("One or more validation errors occurred."); }
public IngredientEntity MapIngredientNewModelToEntity(IngredientNewModel ingredientNewModel) { return(new IngredientEntity { Id = new Guid(), Name = ingredientNewModel.Name, Description = ingredientNewModel.Description }); }
public async Task Create_Should_Create_New_Ingredient() { // Arrange var newIngredient = new IngredientNewModel { Name = "Mléko", Description = "Mléko polotučné" }; var newIngredientSerialized = JsonConvert.SerializeObject(newIngredient); var stringContent = new StringContent(newIngredientSerialized, Encoding.UTF8, "application/json"); // Act var response = await _client.PostAsync("api/ingredient", stringContent); //var response = await _client.PostAsJsonAsync("api/ingredient", newIngredient); // Microsoft.AspNet.WebApi.Client NuGet package needs to be installed. // Assert response.StatusCode.Should().Be(HttpStatusCode.OK); var newIngredientGuid = JsonConvert.DeserializeObject <Guid>(await response.Content.ReadAsStringAsync()); newIngredientGuid.Should().NotBeEmpty(); }
public async Task <Guid> InsertAsync(IngredientNewModel ingredientNewModel) { return(await _ingredientClient.IngredientPostAsync("3", "cs", ingredientNewModel)); }
public Guid Create(IngredientNewModel ingredient) { var ingredientEntity = mapper.Map <IngredientEntity>(ingredient); return(ingredientRepository.Insert(ingredientEntity)); }
public ActionResult <Guid> Create(IngredientNewModel ingredient) { return(ingredientFacade.Create(ingredient)); }