60 lines
1.8 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|