public async Task UpdateOrder_Returns_NotFound()
        {
            using (var client = new TestClientProvider().Client)
            {
                int  orderId       = 500;
                bool deliverStatus = true;

                var payload = JsonSerializer.Serialize(new Models.Order()
                {
                    Id       = orderId,
                    Deliverd = deliverStatus
                }
                                                       );

                HttpContent content = new StringContent(payload, Encoding.UTF8, "application/json");

                var response = await client.PutAsync($"/api/order/UpdateOrderDeliveryStatus?id={orderId}", content);

                using (var responseStream = await response.Content.ReadAsStreamAsync())
                {
                    var order = await JsonSerializer.DeserializeAsync <Models.Order>(responseStream,
                                                                                     new JsonSerializerOptions()
                    {
                        PropertyNameCaseInsensitive = true
                    });

                    Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
                }
            }
        }
        public async Task UpdateOrder_Returns_Ok()
        {
            using (var client = new TestClientProvider().Client)
            {
                var product1 = new Models.Product()
                {
                    Id = 1, Price = 50, Quantity = 10
                };
                var product2 = new Models.Product()
                {
                    Id = 2, Price = 75, Quantity = 15
                };

                var cartItems = new List <Models.CartItem>()
                {
                    new Models.CartItem()
                    {
                        Product = product1, Quantity = 1
                    },
                    new Models.CartItem()
                    {
                        Product = product2, Quantity = 2
                    }
                };

                var payload = JsonSerializer.Serialize(new Models.Cart()
                {
                    UserId     = Guid.NewGuid(),
                    PaymentId  = 2,
                    DeliveryId = 2,
                    CartItems  = cartItems
                }
                                                       );

                HttpContent content = new StringContent(payload, Encoding.UTF8, "application/json");

                var response = await client.PostAsync($"/api/order/createorder", content);
            }
            using (var client = new TestClientProvider().Client)
            {
                int  updatedOrderId = 0;
                int  orderId        = 1;
                bool deliverStatus  = true;

                var payload = JsonSerializer.Serialize(new Models.Order()
                {
                    Id       = orderId,
                    Deliverd = deliverStatus
                }
                                                       );

                HttpContent content = new StringContent(payload, Encoding.UTF8, "application/json");

                var response = await client.PutAsync($"/api/order/UpdateOrderDeliveryStatus?id={orderId}", content);

                using (var responseStream = await response.Content.ReadAsStreamAsync())
                {
                    var order = await JsonSerializer.DeserializeAsync <Models.Order>(responseStream,
                                                                                     new JsonSerializerOptions()
                    {
                        PropertyNameCaseInsensitive = true
                    });

                    updatedOrderId = order.Id;
                    Assert.Equal(HttpStatusCode.OK, response.StatusCode);
                }
            }
        }