Пример #1
0
        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);
                }
            }
        }
Пример #2
0
        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);
                }
            }
        }