public async Task GetNotAGUID_Returns_BadRequest() { using (var client = new TestClientProvider().Client) { var response = await client.GetAsync($"/api/orders/1"); Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode); } }
public async Task GetUserOrders_Returns_OK() { using (var client = new TestClientProvider().Client) { var orderResponse = await client.GetAsync($"/api/orders/user/{_fixture.order.UserId}"); Assert.Equal(HttpStatusCode.OK, orderResponse.StatusCode); } }
public async Task GetEmptyGuid_Returns_NOTFOUND() { using (var client = new TestClientProvider().Client) { var response = await client.GetAsync($"/api/orders/{Guid.Empty}"); Assert.Equal(HttpStatusCode.NotFound, response.StatusCode); } }
public async Task GetAll_Returns_OK() { using (var client = new TestClientProvider().Client) { var response = await client.GetAsync("/api/orders"); Assert.Equal(HttpStatusCode.OK, response.StatusCode); } }
public async Task GetRandomGuid_Returns_NOTFOUND() { using (var client = new TestClientProvider().Client) { Guid guid = Guid.NewGuid(); var response = await client.GetAsync($"/api/orders/{guid}"); Assert.Equal(HttpStatusCode.NotFound, response.StatusCode); } }
public async Task Delete_Order_returns_Id() { var testOrder = new Order { Address = "Testadress", City = "Teststad", Email = "*****@*****.**", FirstName = "Testförnamn", LastName = "Testefternamn", OrderDate = DateTime.Now, Phone = "123", ZipCode = "123", Status = Status.Packas, UserId = Guid.NewGuid().ToString(), OrderItems = new List <OrderItem> { new OrderItem { Name = "Testprodukt2", Price = 48.00M, ProductId = Guid.NewGuid(), Quantity = 2 } } }; using (var client = new TestClientProvider().Client) { var payload = JsonConvert.SerializeObject(testOrder); HttpContent content = new StringContent(payload, Encoding.UTF8, "application/json"); //post testorder HttpRequestMessage postrequest = new HttpRequestMessage { Content = content, Method = HttpMethod.Post, RequestUri = new Uri($"https://localhost:44328/api/orders/") }; postrequest.Headers.Authorization = new AuthenticationHeaderValue("Bearer", _fixture.token); var postResponse = await client.SendAsync(postrequest); var orderResponse = await postResponse.Content.ReadAsStringAsync(); var order = JsonConvert.DeserializeObject <Order>(orderResponse); //delete testorder HttpRequestMessage request = new HttpRequestMessage { Method = HttpMethod.Delete, RequestUri = new Uri($"https://localhost:44328/api/orders/{order.Id}") }; request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", _fixture.token); var deleteResponse = await client.SendAsync(request); var deletedOrderResponse = await deleteResponse.Content.ReadAsStringAsync(); var deletedOrderId = JsonConvert.DeserializeObject <Guid>(deletedOrderResponse); Assert.Equal(order.Id, deletedOrderId); } }
public async Task Delete_Order_EmptyGuid_returns_NotFound() { var emptyGuid = Guid.Empty; using (var client = new TestClientProvider().Client) { var deleteresponse = await client.DeleteAsync($"/api/orders/{emptyGuid}"); Assert.Equal(HttpStatusCode.NotFound, deleteresponse.StatusCode); } }
public async Task GetUserOrders_Returns_OK() { using (var client = new TestClientProvider().Client) { HttpRequestMessage request = new HttpRequestMessage { Method = HttpMethod.Get, RequestUri = new Uri($"https://localhost:44328/api/orders/user/{_fixture.order.UserId}") }; request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", _fixture.token); var orderResponse = await client.SendAsync(request); Assert.Equal(HttpStatusCode.OK, orderResponse.StatusCode); } }
public async void Dispose() { using (var client = new TestClientProvider().Client) { HttpRequestMessage request = new HttpRequestMessage { Method = HttpMethod.Delete, RequestUri = new Uri("https://localhost:44328/api/orders/" + order.Id) }; request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token); var deleteResponse = await client.SendAsync(request); deleteResponse.EnsureSuccessStatusCode(); } }
public async Task GetEmptyGuid_Returns_NOTFOUND() { using (var client = new TestClientProvider().Client) { HttpRequestMessage request = new HttpRequestMessage { Method = HttpMethod.Get, RequestUri = new Uri("https://localhost:44328/api/orders/" + Guid.Empty) }; request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", _fixture.token); var response = await client.SendAsync(request); Assert.Equal(HttpStatusCode.NotFound, response.StatusCode); } }
public async Task Put_Empty_Order_WithexistingGuid_returns_BadRequest() { //existing guid var guid = _fixture.order.Id; //empty order var order = new Order(); using (var client = new TestClientProvider().Client) { var payload = JsonConvert.SerializeObject(order); HttpContent content = new StringContent(payload, Encoding.UTF8, "application/json"); var deleteresponse = await client.PutAsync($"/api/orders/{guid}", content); Assert.Equal(HttpStatusCode.BadRequest, deleteresponse.StatusCode); } }
public async Task PutOrder_returns_Status_OK() { using (var client = new TestClientProvider().Client) { var order = _fixture.order; order.Phone = "123456"; var payload = JsonConvert.SerializeObject(order); HttpContent content = new StringContent(payload, Encoding.UTF8, "application/json"); //put order var putresponse = await client.PutAsync($"/api/orders/{order.Id}", content); Assert.Equal(HttpStatusCode.OK, putresponse.StatusCode); } }
public async Task Delete_Order_EmptyGuid_returns_NotFound() { var emptyGuid = Guid.Empty; using (var client = new TestClientProvider().Client) { HttpRequestMessage request = new HttpRequestMessage { Method = HttpMethod.Delete, RequestUri = new Uri($"https://localhost:44328/api/orders/{emptyGuid}") }; request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", _fixture.token); var deleteResponse = await client.SendAsync(request); Assert.Equal(HttpStatusCode.NotFound, deleteResponse.StatusCode); } }
public async Task GetOrderById_Returns_Order() { using (var client = new TestClientProvider().Client) { var orderResponse = await client.GetAsync($"/api/orders/{_fixture.order.Id}"); using (var responseStream = await orderResponse.Content.ReadAsStreamAsync()) { var order = await System.Text.Json.JsonSerializer.DeserializeAsync <Order>(responseStream, new JsonSerializerOptions() { PropertyNameCaseInsensitive = true }); Assert.Equal(_fixture.order.Id, order.Id); } } }
public async Task GetAll_Returns_orderitems() { using (var client = new TestClientProvider().Client) { var response = await client.GetAsync("/api/orders"); var orderResponse = await response.Content.ReadAsStringAsync(); var orders = JsonConvert.DeserializeObject <IEnumerable <Order> >(orderResponse); foreach (var order in orders) { foreach (var orderItem in order.OrderItems) { Assert.NotNull(orderItem); } } } }
public async Task Delete_Order_returns_Id() { var testOrder = new Order { Address = "Testadress", City = "Teststad", Email = "*****@*****.**", FirstName = "Testförnamn", LastName = "Testefternamn", OrderDate = DateTime.Now, Phone = "123", ZipCode = "123", Status = Status.Packas, UserId = Guid.NewGuid().ToString(), OrderItems = new List <OrderItem> { new OrderItem { Name = "Testprodukt2", Price = 48.00M, ProductId = Guid.NewGuid(), Quantity = 2 } } }; using (var client = new TestClientProvider().Client) { var payload = JsonConvert.SerializeObject(testOrder); HttpContent content = new StringContent(payload, Encoding.UTF8, "application/json"); //post testorder var postresponse = await client.PostAsync($"/api/orders/", content); var orderResponse = await postresponse.Content.ReadAsStringAsync(); var order = JsonConvert.DeserializeObject <Order>(orderResponse); //delete testorder var deleteresponse = await client.DeleteAsync($"/api/orders/{order.Id}"); var deletedOrderResponse = await deleteresponse.Content.ReadAsStringAsync(); var deletedOrderId = JsonConvert.DeserializeObject <Guid>(deletedOrderResponse); Assert.Equal(order.Id, deletedOrderId); } }
public async Task PutOrder_returns_updatedOrder() { using (var client = new TestClientProvider().Client) { var order = _fixture.order; order.Status = Status.Bekräftad; var payload = JsonConvert.SerializeObject(order); HttpContent content = new StringContent(payload, Encoding.UTF8, "application/json"); //put order var putresponse = await client.PutAsync($"/api/orders/{order.Id}", content); var orderResponse = await putresponse.Content.ReadAsStringAsync(); var changedOrder = JsonConvert.DeserializeObject <Order>(orderResponse); Assert.Equal(order.Status, changedOrder.Status); } }
private async Task <Order> Initialize() { using (var client = new TestClientProvider().Client) { var testOrder = new Order { Address = "Testadress", City = "Teststad", Email = "*****@*****.**", FirstName = "Testförnamn", LastName = "Testefternamn", OrderDate = DateTime.Now, Phone = "000011111", ZipCode = "29281", Status = Status.Beställd, UserId = Guid.NewGuid().ToString(), OrderItems = new List <OrderItem> { new OrderItem { Name = "Testprodukt", Price = 98.00M, ProductId = Guid.NewGuid(), Quantity = 3 } } }; var payload = new StringContent(JsonConvert.SerializeObject(testOrder), Encoding.UTF8, "application/json"); HttpRequestMessage request = new HttpRequestMessage { Content = payload, Method = HttpMethod.Post, RequestUri = new Uri("https://localhost:44328/api/orders/") }; request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token); var response = await client.SendAsync(request); var responseOrder = await response.Content.ReadAsStringAsync(); var createdProduct = JsonConvert.DeserializeObject <Order>(responseOrder); return(createdProduct); } }
public async Task GetAll_Returns_orderitems() { using (var client = new TestClientProvider().Client) { HttpRequestMessage request = new HttpRequestMessage { Method = HttpMethod.Get, RequestUri = new Uri("https://localhost:44328/api/orders/") }; request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", _fixture.token); var response = client.SendAsync(request); var orderResponse = await response.Result.Content.ReadAsStringAsync(); var orders = JsonConvert.DeserializeObject <IEnumerable <Order> >(orderResponse); foreach (var order in orders) { foreach (var orderItem in order.OrderItems) { Assert.NotNull(orderItem); } } } }
public async Task Put_Empty_Order_WithexistingGuid_returns_BadRequest() { //existing guid var guid = _fixture.order.Id; //empty order var order = new Order(); using (var client = new TestClientProvider().Client) { var payload = JsonConvert.SerializeObject(order); HttpContent content = new StringContent(payload, Encoding.UTF8, "application/json"); HttpRequestMessage request = new HttpRequestMessage { Content = content, Method = HttpMethod.Put, RequestUri = new Uri($"https://localhost:44328/api/orders/{_fixture.order.Id}") }; request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", _fixture.token); var putResponse = await client.SendAsync(request); Assert.Equal(HttpStatusCode.BadRequest, putResponse.StatusCode); } }
public async Task GetOrderById_Returns_Order() { using (var client = new TestClientProvider().Client) { HttpRequestMessage request = new HttpRequestMessage { Method = HttpMethod.Get, RequestUri = new Uri($"https://localhost:44328/api/orders/{_fixture.order.Id}") }; request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", _fixture.token); var orderResponse = await client.SendAsync(request); using (var responseStream = await orderResponse.Content.ReadAsStreamAsync()) { var order = await System.Text.Json.JsonSerializer.DeserializeAsync <Order>(responseStream, new JsonSerializerOptions() { PropertyNameCaseInsensitive = true }); Assert.Equal(_fixture.order.Id, order.Id); } } }
public async Task PutOrder_returns_Status_OK() { using (var client = new TestClientProvider().Client) { var order = _fixture.order; order.Phone = "123456"; var payload = JsonConvert.SerializeObject(order); HttpContent content = new StringContent(payload, Encoding.UTF8, "application/json"); //put order HttpRequestMessage request = new HttpRequestMessage { Content = content, Method = HttpMethod.Put, RequestUri = new Uri($"https://localhost:44328/api/orders/{_fixture.order.Id}") }; request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", _fixture.token); var putResponse = await client.SendAsync(request); Assert.Equal(HttpStatusCode.OK, putResponse.StatusCode); } }