using System;
using Xunit;
using Newtonsoft.Json.Linq;
using FluentAssertions;
namespace raven_integration
{
public class EnumListOps
{
///
///
///
[Fact]
public async void GetListOfEnumListsAndGetAllEnumListsWorks()
{
ApiResponse a = await Util.GetAsync("EnumPickList/listkeys", await Util.GetTokenAsync("manager", "l3tm3in"));
Util.ValidateDataReturnResponseOk(a);
Util.ValidateHTTPStatusCode(a, 200);
((JArray)a.ObjectResponse["data"]).Count.Should().BeGreaterThan(2);
//iterate all the list names and fetch each one in turn and see that it fetches ok and has at least 2 list items in it
foreach (JObject jListName in a.ObjectResponse["data"])
{
ApiResponse b = await Util.GetAsync($"EnumPickList/list/{jListName["key"].Value()}", await Util.GetTokenAsync("manager", "l3tm3in"));
Util.ValidateDataReturnResponseOk(b);
Util.ValidateHTTPStatusCode(b, 200);
((JArray)b.ObjectResponse["data"]).Count.Should().BeGreaterThan(1);
}
}
// ///
// ///
// ///
// [Fact]
// public async void GetAllEnumListsWorks()
// {
// ApiResponse a = await Util.GetAsync("EnumPickList/list/usertypes", await Util.GetTokenAsync("manager", "l3tm3in"));
// Util.ValidateDataReturnResponseOk(a);
// Util.ValidateHTTPStatusCode(a, 200);
// ((JArray)a.ObjectResponse["data"]).Count.Should().BeGreaterThan(5);
// a.ObjectResponse["data"][3]["name"].Value().Should().Be("Customer user");
// a.ObjectResponse["data"][3]["id"].Value().Should().Be(4);
// }
//==================================================
}//eoc
}//eons