62 lines
1.8 KiB
C#
62 lines
1.8 KiB
C#
namespace IntegrationTests.Services.Ordering
|
|
{
|
|
using IntegrationTests.Services.Extensions;
|
|
using Newtonsoft.Json;
|
|
using System.Net.Http;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using WebMVC.Models;
|
|
using Xunit;
|
|
|
|
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_and_response_ok_status_code()
|
|
{
|
|
using (var server = CreateServer())
|
|
{
|
|
var content = new StringContent(BuildOrder(), UTF8Encoding.UTF8, "application/json");
|
|
var response = await server.CreateIdempotentClient()
|
|
.PutAsync(Put.CancelOrder, content);
|
|
|
|
response.EnsureSuccessStatusCode();
|
|
}
|
|
}
|
|
|
|
[Fact]
|
|
public async Task Ship_order_and_response_bad_status_code()
|
|
{
|
|
using (var server = CreateServer())
|
|
{
|
|
var content = new StringContent(BuildOrder(), UTF8Encoding.UTF8, "application/json");
|
|
var response = await server.CreateIdempotentClient()
|
|
.PutAsync(Put.ShipOrder, content);
|
|
|
|
response.EnsureSuccessStatusCode();
|
|
}
|
|
}
|
|
|
|
string BuildOrder()
|
|
{
|
|
var order = new OrderDTO()
|
|
{
|
|
OrderNumber = "1"
|
|
};
|
|
return JsonConvert.SerializeObject(order);
|
|
}
|
|
}
|
|
}
|