2023-03-09 17:37:33 +05:30

54 lines
1.6 KiB
C#

using System.Net;
using System.Text;
using System.Text.Json;
using WebMVC.Services.ModelDTOs;
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);
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");
var response = await server.CreateIdempotentClient()
.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");
var response = await server.CreateIdempotentClient()
.PutAsync(Put.ShipOrder, content);
Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
}
string BuildOrder()
{
var order = new OrderDTO()
{
OrderNumber = "-1"
};
return JsonSerializer.Serialize(order);
}
}
}