예제 #1
0
        public async Task DeleteOrder_Returns_Notfound()
        {
            using (var client = new TestClientProvoider().Client)
            {
                client.DefaultRequestHeaders.Add("Api_Key", "MySceretOrderApiKey");
                var response = await client.DeleteAsync("/api/order/deleteorder?id=" + Guid.Empty);

                Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
            }
        }
예제 #2
0
        public async Task CreateOrder_Returns_Created_Order()
        {
            using (var client = new TestClientProvoider().Client)
            {
                client.DefaultRequestHeaders.Add("Api_Key", "MySceretOrderApiKey");
                Guid orderid = Guid.Empty;
                var  payload = JsonSerializer.Serialize(
                    new Order()
                {
                    OrderId   = Guid.Parse("2ae4bb3a-9664-4235-b721-af45dfa7d81a"),
                    OrderDate = DateTime.Now,
                    UserId    = Guid.Parse("bbd9482e-1193-4545-88b7-81aa97ebfa77"),
                    ProductId = Guid.Parse("08b446ae-03bb-4e53-96de-c34f31a79f09")
                }
                    );


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

                var response = await client.PostAsync($"/api/order/createorder", content);

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

                    orderid = order.OrderId;

                    Assert.NotNull(order);
                    Assert.NotEqual <Guid>(Guid.Empty, orderid);
                }

                var deleteResponse = await client.DeleteAsync($"/api/order/deleteorder?id={orderid}");

                using (var deleteStream = await deleteResponse.Content.ReadAsStreamAsync())
                {
                    var deletedid = await JsonSerializer.DeserializeAsync <Guid>(deleteStream,
                                                                                 new JsonSerializerOptions()
                    {
                        PropertyNameCaseInsensitive = true
                    });
                }
            }
        }
예제 #3
0
        public async Task CreateOrder_Returns_BadRequest()
        {
            Guid orderid = Guid.Empty;

            using (var client = new TestClientProvoider().Client)
            {
                client.DefaultRequestHeaders.Add("Api_Key", "MySceretOrderApiKey");

                var payload = JsonSerializer.Serialize(
                    new Order()
                {
                });

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

                var response = await client.PostAsync($"/api/order/Createorder", content);

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

                    orderid = order.OrderId;

                    Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
                }
                var deleteResponse = await client.DeleteAsync($"/api/order/deleteorder?id={orderid}");

                using (var deleteStream = await deleteResponse.Content.ReadAsStreamAsync())
                {
                    var deletedid = await JsonSerializer.DeserializeAsync <Guid>(deleteStream,
                                                                                 new JsonSerializerOptions()
                    {
                        PropertyNameCaseInsensitive = true
                    });
                }
            }
        }