2023-05-09 07:05:34 -07:00

60 lines
1.8 KiB
C#

using System.Net;
using System.Text;
using System.Text.Json;
using Xunit;
namespace Ordering.FunctionalTests
{
public class OrderingScenarios
: OrderingScenarioBase
{
[Fact]
public async Task Get_get_all_stored_orders_and_response_ok_status_code()
{
using var server = CreateServer();
var response = await server.CreateClient()
.GetAsync(Get.Orders);
var s = await response.Content.ReadAsStringAsync();
response.EnsureSuccessStatusCode();
}
[Fact]
public async Task Cancel_order_no_order_created_bad_request_response()
{
using var server = CreateServer();
var content = new StringContent(BuildOrder(), UTF8Encoding.UTF8, "application/json")
{
Headers = { { "x-requestid", Guid.NewGuid().ToString() } }
};
var response = await server.CreateClient()
.PutAsync(Put.CancelOrder, content);
Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
}
[Fact]
public async Task Ship_order_no_order_created_bad_request_response()
{
using var server = CreateServer();
var content = new StringContent(BuildOrder(), UTF8Encoding.UTF8, "application/json")
{
Headers = { { "x-requestid", Guid.NewGuid().ToString() } }
};
var response = await server.CreateClient()
.PutAsync(Put.ShipOrder, content);
Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
}
string BuildOrder()
{
var order = new
{
OrderNumber = "-1"
};
return JsonSerializer.Serialize(order);
}
}
}