public async Task DeleteProduct_Returns_DeletedProductId() { using (var client = new TestClientProvider().Client) { //Create product var product = JsonSerializer.Serialize(new Product.Service.Models.Product() { Name = "TabortProdukt", Quantity = 10, Price = 100, ImageUrl = "https://www.stadshop.se/image/8171/648139.jpg", Description = "" }); HttpContent content = new StringContent(product, Encoding.UTF8, "application/json"); var response = await client.PostAsync($"/api/product/createproduct", content); Product.Service.Models.Product newProduct = null; using (var responseStream = await response.Content.ReadAsStreamAsync()) { newProduct = await JsonSerializer.DeserializeAsync <Product.Service.Models.Product>(responseStream, new JsonSerializerOptions() { PropertyNameCaseInsensitive = true }); } //Delete product var deleteresponse = await client.DeleteAsync($"/api/product/DeleteProduct?productId={newProduct.Id}"); using (var responseStream = await deleteresponse.Content.ReadAsStreamAsync()) { var deletedProduct = await JsonSerializer.DeserializeAsync <Product.Service.Models.Product>(responseStream, new JsonSerializerOptions() { PropertyNameCaseInsensitive = true }); Assert.Equal(newProduct.Id, deletedProduct.Id); } } }
public async Task UpdateProduct_Returns_OK() { using (var client = new TestClientProvider().Client) { var product1 = new Product.Service.Models.Product() { Id = 1, Price = 50, Quantity = 10 }; var product2 = new Product.Service.Models.Product() { Id = 2, Price = 75, Quantity = 15 }; var cartItems = new List <Product.Service.Models.CartItem>() { new Product.Service.Models.CartItem() { Product = product1, Quantity = 1 }, new Product.Service.Models.CartItem() { Product = product2, Quantity = 2 } }; var payload = JsonSerializer.Serialize(new Product.Service.Models.ShoppingCart() { cartItems = cartItems } ); HttpContent content = new StringContent(payload, Encoding.UTF8, "application/json"); var response = await client.PutAsync($"/api/product/UpdateQuantity", content); using (var responseStream = await response.Content.ReadAsStreamAsync()) { Assert.Equal(HttpStatusCode.OK, response.StatusCode); } } }