This commit is contained in:
2026-02-24 15:19:15 -08:00
parent 0a2afde1ec
commit a58261a6df
6 changed files with 4442 additions and 4438 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -1,30 +1,30 @@
using Xunit;
using Newtonsoft.Json.Linq;
using FluentAssertions;
// using Xunit;
// using Newtonsoft.Json.Linq;
// using FluentAssertions;
namespace raven_integration
{
// namespace raven_integration
// {
public class DataListRights
{
// public class DataListRights
// {
/// <summary>
///
/// </summary>
[Fact]
public async Task InsufficentRightsShouldNotRetrieve()
{
//Get without rights
/*
"{\"error\":{\"code\":\"2004\",\"message\":\"User not authorized for this resource operation (insufficient rights)\"}}"
*/
//ApiResponse a = await Util.GetAsync("data-list/list?DataListKey=TestWidgetDataList&Offset=0&Limit=3", await Util.GetTokenAsync("CustomerRestricted"));
ApiResponse a = await Util.PostAsync($"data-list", await Util.GetTokenAsync("CustomerRestricted"), Util.BuildDataListRequestEx());
Util.ValidateErrorCodeResponse(a, 2004, 403);
}
// /// <summary>
// ///
// /// </summary>
// [Fact]
// public async Task InsufficentRightsShouldNotRetrieve()
// {
// //Get without rights
// /*
// "{\"error\":{\"code\":\"2004\",\"message\":\"User not authorized for this resource operation (insufficient rights)\"}}"
// */
// //ApiResponse a = await Util.GetAsync("data-list/list?DataListKey=TestWidgetDataList&Offset=0&Limit=3", await Util.GetTokenAsync("CustomerRestricted"));
// ApiResponse a = await Util.PostAsync($"data-list", await Util.GetTokenAsync("CustomerRestricted"), Util.BuildDataListRequestEx());
// Util.ValidateErrorCodeResponse(a, 2004, 403);
// }
//==================================================
// //==================================================
}//eoc
}//eons
// }//eoc
// }//eons

View File

@@ -1,413 +1,413 @@
using System;
using Xunit;
using Newtonsoft.Json.Linq;
using FluentAssertions;
using System.Collections.Generic;
using System.Collections.Concurrent;
// using System;
// using Xunit;
// using Newtonsoft.Json.Linq;
// using FluentAssertions;
// using System.Collections.Generic;
// using System.Collections.Concurrent;
namespace raven_integration
{
// namespace raven_integration
// {
public class DataListSorting
{
// public class DataListSorting
// {
/// <summary>
///
/// </summary>
[Fact]
public async Task DefaultSortByIdWorks()
{
// /// <summary>
// ///
// /// </summary>
// [Fact]
// public async Task DefaultSortByIdWorks()
// {
var WidgetNameStart = Util.Uniquify("DefaultSortByIdWorks");
// var WidgetNameStart = Util.Uniquify("DefaultSortByIdWorks");
//CREATE 3 TEST WIDGETS TO TEST ORDER
long FirstInOrderWidgetId = 0;
long SecondInOrderWidgetId = 0;
long ThirdInOrderWidgetId = 0;
dynamic w = new JObject();
w.name = Util.Uniquify(WidgetNameStart);
w.customFields = Util.WidgetRequiredCustomFieldsJsonString();
w.notes = "blah";
w.usertype = 1;
ApiResponse a = await Util.PostAsync("widget", await Util.GetTokenAsync("superuser", "l3tm3in"), w.ToString());
Util.ValidateDataReturnResponseOk(a);
ThirdInOrderWidgetId = a.ObjectResponse["data"]["id"].Value<long>();
w = new JObject();
w.name = Util.Uniquify(WidgetNameStart);
w.customFields = Util.WidgetRequiredCustomFieldsJsonString();
w.notes = "blah";
w.usertype = 1;
a = await Util.PostAsync("widget", await Util.GetTokenAsync("superuser", "l3tm3in"), w.ToString());
Util.ValidateDataReturnResponseOk(a);
SecondInOrderWidgetId = a.ObjectResponse["data"]["id"].Value<long>();
w = new JObject();
w.name = Util.Uniquify(WidgetNameStart);
w.customFields = Util.WidgetRequiredCustomFieldsJsonString();
w.notes = "blah";
w.usertype = 1;
a = await Util.PostAsync("widget", await Util.GetTokenAsync("superuser", "l3tm3in"), w.ToString());
Util.ValidateDataReturnResponseOk(a);
FirstInOrderWidgetId = a.ObjectResponse["data"]["id"].Value<long>();
//CREATE FILTER
dynamic dListView = new JArray();
//name starts with filter to constrict to widgets that this test block created only
dListView.Add(Util.BuildSimpleFilterDataListViewColumn("widgetname", Util.OpStartsWith, WidgetNameStart));
//NOW FETCH WIDGET LIST WITH FILTER
// a = await Util.GetAsync($"data-list/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("superuser", "l3tm3in"));
a = await Util.PostAsync($"data-list", await Util.GetTokenAsync("superuser", "l3tm3in"), Util.BuildDataListRequestEx(dListView));
Util.ValidateDataReturnResponseOk(a);
Util.ValidateHTTPStatusCode(a, 200);
//assert contains exactly 3 records
((JArray)a.ObjectResponse["data"]).Count.Should().Be(3);
// //CREATE 3 TEST WIDGETS TO TEST ORDER
// long FirstInOrderWidgetId = 0;
// long SecondInOrderWidgetId = 0;
// long ThirdInOrderWidgetId = 0;
// dynamic w = new JObject();
// w.name = Util.Uniquify(WidgetNameStart);
// w.customFields = Util.WidgetRequiredCustomFieldsJsonString();
// w.notes = "blah";
// w.usertype = 1;
// ApiResponse a = await Util.PostAsync("widget", await Util.GetTokenAsync("superuser", "l3tm3in"), w.ToString());
// Util.ValidateDataReturnResponseOk(a);
// ThirdInOrderWidgetId = a.ObjectResponse["data"]["id"].Value<long>();
// w = new JObject();
// w.name = Util.Uniquify(WidgetNameStart);
// w.customFields = Util.WidgetRequiredCustomFieldsJsonString();
// w.notes = "blah";
// w.usertype = 1;
// a = await Util.PostAsync("widget", await Util.GetTokenAsync("superuser", "l3tm3in"), w.ToString());
// Util.ValidateDataReturnResponseOk(a);
// SecondInOrderWidgetId = a.ObjectResponse["data"]["id"].Value<long>();
// w = new JObject();
// w.name = Util.Uniquify(WidgetNameStart);
// w.customFields = Util.WidgetRequiredCustomFieldsJsonString();
// w.notes = "blah";
// w.usertype = 1;
// a = await Util.PostAsync("widget", await Util.GetTokenAsync("superuser", "l3tm3in"), w.ToString());
// Util.ValidateDataReturnResponseOk(a);
// FirstInOrderWidgetId = a.ObjectResponse["data"]["id"].Value<long>();
// //CREATE FILTER
// dynamic dListView = new JArray();
// //name starts with filter to constrict to widgets that this test block created only
// dListView.Add(Util.BuildSimpleFilterDataListViewColumn("widgetname", Util.OpStartsWith, WidgetNameStart));
// //NOW FETCH WIDGET LIST WITH FILTER
// // a = await Util.GetAsync($"data-list/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("superuser", "l3tm3in"));
// a = await Util.PostAsync($"data-list", await Util.GetTokenAsync("superuser", "l3tm3in"), Util.BuildDataListRequestEx(dListView));
// Util.ValidateDataReturnResponseOk(a);
// Util.ValidateHTTPStatusCode(a, 200);
// //assert contains exactly 3 records
// ((JArray)a.ObjectResponse["data"]).Count.Should().Be(3);
//assert the order returned
a.ObjectResponse["data"][0][0]["i"].Value<long>().Should().Be(FirstInOrderWidgetId);
a.ObjectResponse["data"][1][0]["i"].Value<long>().Should().Be(SecondInOrderWidgetId);
a.ObjectResponse["data"][2][0]["i"].Value<long>().Should().Be(ThirdInOrderWidgetId);
// //assert the order returned
// a.ObjectResponse["data"][0][0]["i"].Value<long>().Should().Be(FirstInOrderWidgetId);
// a.ObjectResponse["data"][1][0]["i"].Value<long>().Should().Be(SecondInOrderWidgetId);
// a.ObjectResponse["data"][2][0]["i"].Value<long>().Should().Be(ThirdInOrderWidgetId);
a = await Util.DeleteAsync("widget/" + FirstInOrderWidgetId.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"));
Util.ValidateHTTPStatusCode(a, 204);
// a = await Util.DeleteAsync("widget/" + FirstInOrderWidgetId.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"));
// Util.ValidateHTTPStatusCode(a, 204);
a = await Util.DeleteAsync("widget/" + SecondInOrderWidgetId.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"));
Util.ValidateHTTPStatusCode(a, 204);
// a = await Util.DeleteAsync("widget/" + SecondInOrderWidgetId.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"));
// Util.ValidateHTTPStatusCode(a, 204);
a = await Util.DeleteAsync("widget/" + ThirdInOrderWidgetId.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"));
Util.ValidateHTTPStatusCode(a, 204);
}
// a = await Util.DeleteAsync("widget/" + ThirdInOrderWidgetId.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"));
// Util.ValidateHTTPStatusCode(a, 204);
// }
/// <summary>
///
/// </summary>
[Fact]
public async Task SortByFieldAscendingWorks()
{
// /// <summary>
// ///
// /// </summary>
// [Fact]
// public async Task SortByFieldAscendingWorks()
// {
var WidgetNameStart = Util.Uniquify("SortByFieldAscendingWorks");
// var WidgetNameStart = Util.Uniquify("SortByFieldAscendingWorks");
//CREATE 3 TEST WIDGETS TO TEST ORDER
long FirstInOrderWidgetId = 0;
long SecondInOrderWidgetId = 0;
long ThirdInOrderWidgetId = 0;
// //CREATE 3 TEST WIDGETS TO TEST ORDER
// long FirstInOrderWidgetId = 0;
// long SecondInOrderWidgetId = 0;
// long ThirdInOrderWidgetId = 0;
dynamic w = new JObject();
w.name = Util.Uniquify(WidgetNameStart);
w.customFields = Util.WidgetRequiredCustomFieldsJsonString();
w.notes = "blah";
w.startDate = DateTime.Now;
w.endDate = DateTime.Now.AddHours(1);
w.usertype = 1;
// dynamic w = new JObject();
// w.name = Util.Uniquify(WidgetNameStart);
// w.customFields = Util.WidgetRequiredCustomFieldsJsonString();
// w.notes = "blah";
// w.startDate = DateTime.Now;
// w.endDate = DateTime.Now.AddHours(1);
// w.usertype = 1;
ApiResponse a = await Util.PostAsync("widget", await Util.GetTokenAsync("superuser", "l3tm3in"), w.ToString());
Util.ValidateDataReturnResponseOk(a);
FirstInOrderWidgetId = a.ObjectResponse["data"]["id"].Value<long>();
// ApiResponse a = await Util.PostAsync("widget", await Util.GetTokenAsync("superuser", "l3tm3in"), w.ToString());
// Util.ValidateDataReturnResponseOk(a);
// FirstInOrderWidgetId = a.ObjectResponse["data"]["id"].Value<long>();
w = new JObject();
w.name = Util.Uniquify(WidgetNameStart);
w.customFields = Util.WidgetRequiredCustomFieldsJsonString();
w.notes = "blah";
w.startDate = DateTime.Now.AddHours(1);
w.endDate = DateTime.Now.AddHours(2);
w.usertype = 1;
a = await Util.PostAsync("widget", await Util.GetTokenAsync("superuser", "l3tm3in"), w.ToString());
Util.ValidateDataReturnResponseOk(a);
SecondInOrderWidgetId = a.ObjectResponse["data"]["id"].Value<long>();
w = new JObject();
w.name = Util.Uniquify(WidgetNameStart);
w.customFields = Util.WidgetRequiredCustomFieldsJsonString();
w.notes = "blah";
w.startDate = DateTime.Now.AddHours(2);
w.endDate = DateTime.Now.AddHours(3);
w.usertype = 1;
a = await Util.PostAsync("widget", await Util.GetTokenAsync("superuser", "l3tm3in"), w.ToString());
Util.ValidateDataReturnResponseOk(a);
ThirdInOrderWidgetId = a.ObjectResponse["data"]["id"].Value<long>();
// w = new JObject();
// w.name = Util.Uniquify(WidgetNameStart);
// w.customFields = Util.WidgetRequiredCustomFieldsJsonString();
// w.notes = "blah";
// w.startDate = DateTime.Now.AddHours(1);
// w.endDate = DateTime.Now.AddHours(2);
// w.usertype = 1;
// a = await Util.PostAsync("widget", await Util.GetTokenAsync("superuser", "l3tm3in"), w.ToString());
// Util.ValidateDataReturnResponseOk(a);
// SecondInOrderWidgetId = a.ObjectResponse["data"]["id"].Value<long>();
// w = new JObject();
// w.name = Util.Uniquify(WidgetNameStart);
// w.customFields = Util.WidgetRequiredCustomFieldsJsonString();
// w.notes = "blah";
// w.startDate = DateTime.Now.AddHours(2);
// w.endDate = DateTime.Now.AddHours(3);
// w.usertype = 1;
// a = await Util.PostAsync("widget", await Util.GetTokenAsync("superuser", "l3tm3in"), w.ToString());
// Util.ValidateDataReturnResponseOk(a);
// ThirdInOrderWidgetId = a.ObjectResponse["data"]["id"].Value<long>();
//CREATE FILTER
//FILTER IN BY NAME FOR TESTING THIS RUN ONLY
dynamic dListView = new JArray();
//name starts with filter to constrict to widgets that this test block created only
// //CREATE FILTER
// //FILTER IN BY NAME FOR TESTING THIS RUN ONLY
// dynamic dListView = new JArray();
// //name starts with filter to constrict to widgets that this test block created only
//SORT ORDER ###################
// dynamic dsortarray = new JArray();
// dynamic dsort = new JObject();
// dsort.fld = "widgetstartdate";
// dsort.dir = "+";
// dsortarray.Add(dsort);
// //SORT ORDER ###################
// // dynamic dsortarray = new JArray();
// // dynamic dsort = new JObject();
// // dsort.fld = "widgetstartdate";
// // dsort.dir = "+";
// // dsortarray.Add(dsort);
//both conditions filter and sort here
dListView.Add(Util.BuildSimpleFilterDataListViewColumn("widgetname", Util.OpStartsWith, WidgetNameStart, "+"));
// //both conditions filter and sort here
// dListView.Add(Util.BuildSimpleFilterDataListViewColumn("widgetname", Util.OpStartsWith, WidgetNameStart, "+"));
//NOW FETCH WIDGET LIST WITH FILTER
a = await Util.PostAsync($"data-list", await Util.GetTokenAsync("superuser", "l3tm3in"), Util.BuildDataListRequestEx(dListView));
Util.ValidateDataReturnResponseOk(a);
Util.ValidateHTTPStatusCode(a, 200);
// //NOW FETCH WIDGET LIST WITH FILTER
// a = await Util.PostAsync($"data-list", await Util.GetTokenAsync("superuser", "l3tm3in"), Util.BuildDataListRequestEx(dListView));
// Util.ValidateDataReturnResponseOk(a);
// Util.ValidateHTTPStatusCode(a, 200);
//assert contains exactly 3 records
((JArray)a.ObjectResponse["data"]).Count.Should().Be(3);
// //assert contains exactly 3 records
// ((JArray)a.ObjectResponse["data"]).Count.Should().Be(3);
//assert the order returned
a.ObjectResponse["data"][0][0]["i"].Value<long>().Should().Be(FirstInOrderWidgetId);
a.ObjectResponse["data"][1][0]["i"].Value<long>().Should().Be(SecondInOrderWidgetId);
a.ObjectResponse["data"][2][0]["i"].Value<long>().Should().Be(ThirdInOrderWidgetId);
// //assert the order returned
// a.ObjectResponse["data"][0][0]["i"].Value<long>().Should().Be(FirstInOrderWidgetId);
// a.ObjectResponse["data"][1][0]["i"].Value<long>().Should().Be(SecondInOrderWidgetId);
// a.ObjectResponse["data"][2][0]["i"].Value<long>().Should().Be(ThirdInOrderWidgetId);
a = await Util.DeleteAsync("widget/" + FirstInOrderWidgetId.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"));
Util.ValidateHTTPStatusCode(a, 204);
// a = await Util.DeleteAsync("widget/" + FirstInOrderWidgetId.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"));
// Util.ValidateHTTPStatusCode(a, 204);
a = await Util.DeleteAsync("widget/" + SecondInOrderWidgetId.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"));
Util.ValidateHTTPStatusCode(a, 204);
// a = await Util.DeleteAsync("widget/" + SecondInOrderWidgetId.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"));
// Util.ValidateHTTPStatusCode(a, 204);
a = await Util.DeleteAsync("widget/" + ThirdInOrderWidgetId.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"));
Util.ValidateHTTPStatusCode(a, 204);
// a = await Util.DeleteAsync("widget/" + ThirdInOrderWidgetId.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"));
// Util.ValidateHTTPStatusCode(a, 204);
}
// }
/// <summary>
///
/// </summary>
[Fact]
public async Task SortByFieldDescendingWorks()
{
// /// <summary>
// ///
// /// </summary>
// [Fact]
// public async Task SortByFieldDescendingWorks()
// {
var WidgetNameStart = Util.Uniquify("SortByFieldDescendingWorks");
// var WidgetNameStart = Util.Uniquify("SortByFieldDescendingWorks");
//CREATE 3 TEST WIDGETS TO TEST ORDER
long FirstInOrderWidgetId = 0;
long SecondInOrderWidgetId = 0;
long ThirdInOrderWidgetId = 0;
// //CREATE 3 TEST WIDGETS TO TEST ORDER
// long FirstInOrderWidgetId = 0;
// long SecondInOrderWidgetId = 0;
// long ThirdInOrderWidgetId = 0;
dynamic w = new JObject();
w.name = Util.Uniquify(WidgetNameStart);
w.customFields = Util.WidgetRequiredCustomFieldsJsonString();
w.notes = "blah";
w.count = 999;
w.usertype = 1;
// dynamic w = new JObject();
// w.name = Util.Uniquify(WidgetNameStart);
// w.customFields = Util.WidgetRequiredCustomFieldsJsonString();
// w.notes = "blah";
// w.count = 999;
// w.usertype = 1;
ApiResponse a = await Util.PostAsync("widget", await Util.GetTokenAsync("superuser", "l3tm3in"), w.ToString());
Util.ValidateDataReturnResponseOk(a);
FirstInOrderWidgetId = a.ObjectResponse["data"]["id"].Value<long>();
// ApiResponse a = await Util.PostAsync("widget", await Util.GetTokenAsync("superuser", "l3tm3in"), w.ToString());
// Util.ValidateDataReturnResponseOk(a);
// FirstInOrderWidgetId = a.ObjectResponse["data"]["id"].Value<long>();
w = new JObject();
w.name = Util.Uniquify(WidgetNameStart);
w.customFields = Util.WidgetRequiredCustomFieldsJsonString();
w.notes = "blah";
w.count = 665;
w.usertype = 1;
a = await Util.PostAsync("widget", await Util.GetTokenAsync("superuser", "l3tm3in"), w.ToString());
Util.ValidateDataReturnResponseOk(a);
SecondInOrderWidgetId = a.ObjectResponse["data"]["id"].Value<long>();
// w = new JObject();
// w.name = Util.Uniquify(WidgetNameStart);
// w.customFields = Util.WidgetRequiredCustomFieldsJsonString();
// w.notes = "blah";
// w.count = 665;
// w.usertype = 1;
// a = await Util.PostAsync("widget", await Util.GetTokenAsync("superuser", "l3tm3in"), w.ToString());
// Util.ValidateDataReturnResponseOk(a);
// SecondInOrderWidgetId = a.ObjectResponse["data"]["id"].Value<long>();
w = new JObject();
w.name = Util.Uniquify(WidgetNameStart);
w.customFields = Util.WidgetRequiredCustomFieldsJsonString();
w.notes = "blah";
w.count = 333;
w.usertype = 1;
a = await Util.PostAsync("widget", await Util.GetTokenAsync("superuser", "l3tm3in"), w.ToString());
Util.ValidateDataReturnResponseOk(a);
ThirdInOrderWidgetId = a.ObjectResponse["data"]["id"].Value<long>();
// w = new JObject();
// w.name = Util.Uniquify(WidgetNameStart);
// w.customFields = Util.WidgetRequiredCustomFieldsJsonString();
// w.notes = "blah";
// w.count = 333;
// w.usertype = 1;
// a = await Util.PostAsync("widget", await Util.GetTokenAsync("superuser", "l3tm3in"), w.ToString());
// Util.ValidateDataReturnResponseOk(a);
// ThirdInOrderWidgetId = a.ObjectResponse["data"]["id"].Value<long>();
//CREATE FILTER
// //CREATE FILTER
//FILTER IN BY NAME FOR TESTING THIS RUN ONLY
dynamic dListView = new JArray();
//name starts with filter to constrict to widgets that this test block created only
// //FILTER IN BY NAME FOR TESTING THIS RUN ONLY
// dynamic dListView = new JArray();
// //name starts with filter to constrict to widgets that this test block created only
dListView.Add(Util.BuildSimpleFilterDataListViewColumn("widgetname", Util.OpStartsWith, WidgetNameStart));
// dListView.Add(Util.BuildSimpleFilterDataListViewColumn("widgetname", Util.OpStartsWith, WidgetNameStart));
//SORT ORDER ###################
// dynamic dsortarray = new JArray();
// dynamic dsort = new JObject();
// dsort.fld = "widgetcount";
// dsort.dir = "-";
dListView.Add(Util.BuildSimpleSortDataListViewColumn("widgetcount", "-"));
//NOW FETCH WIDGET LIST WITH FILTER
a = await Util.PostAsync($"data-list", await Util.GetTokenAsync("superuser", "l3tm3in"), Util.BuildDataListRequestEx(dListView));
Util.ValidateDataReturnResponseOk(a);
Util.ValidateHTTPStatusCode(a, 200);
//assert contains exactly 3 records
((JArray)a.ObjectResponse["data"]).Count.Should().Be(3);
// //SORT ORDER ###################
// // dynamic dsortarray = new JArray();
// // dynamic dsort = new JObject();
// // dsort.fld = "widgetcount";
// // dsort.dir = "-";
// dListView.Add(Util.BuildSimpleSortDataListViewColumn("widgetcount", "-"));
// //NOW FETCH WIDGET LIST WITH FILTER
// a = await Util.PostAsync($"data-list", await Util.GetTokenAsync("superuser", "l3tm3in"), Util.BuildDataListRequestEx(dListView));
// Util.ValidateDataReturnResponseOk(a);
// Util.ValidateHTTPStatusCode(a, 200);
// //assert contains exactly 3 records
// ((JArray)a.ObjectResponse["data"]).Count.Should().Be(3);
//assert the order returned
a.ObjectResponse["data"][0][0]["i"].Value<long>().Should().Be(FirstInOrderWidgetId);
a.ObjectResponse["data"][1][0]["i"].Value<long>().Should().Be(SecondInOrderWidgetId);
a.ObjectResponse["data"][2][0]["i"].Value<long>().Should().Be(ThirdInOrderWidgetId);
a = await Util.DeleteAsync("widget/" + FirstInOrderWidgetId.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"));
Util.ValidateHTTPStatusCode(a, 204);
a = await Util.DeleteAsync("widget/" + SecondInOrderWidgetId.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"));
Util.ValidateHTTPStatusCode(a, 204);
a = await Util.DeleteAsync("widget/" + ThirdInOrderWidgetId.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"));
Util.ValidateHTTPStatusCode(a, 204);
}
/// <summary>
///
/// </summary>
[Fact]
public async Task SortByMultipleFieldsWorks()
{
/*
Created order:
dollaramount, count
2,1
1,2
2,2
1,1
sorted order:
dollar asc, count desc
1,2
1,1
2,2
2,1
*/
var WidgetNameStart = Util.Uniquify("SortByMultipleFieldsWorks");
//CREATE 4 TEST WIDGETS TO TEST ORDER
long FirstInOrderWidgetId = 0;
long SecondInOrderWidgetId = 0;
long ThirdInOrderWidgetId = 0;
long FourthInOrderWidgetId = 0;
dynamic w = new JObject();
w.name = Util.Uniquify(WidgetNameStart);
w.customFields = Util.WidgetRequiredCustomFieldsJsonString();
w.notes = "blah";
w.dollaramount = 2.22;
w.count = 1;
w.usertype = 1;
ApiResponse a = await Util.PostAsync("widget", await Util.GetTokenAsync("superuser", "l3tm3in"), w.ToString());
Util.ValidateDataReturnResponseOk(a);
FourthInOrderWidgetId = a.ObjectResponse["data"]["id"].Value<long>();
// //assert the order returned
// a.ObjectResponse["data"][0][0]["i"].Value<long>().Should().Be(FirstInOrderWidgetId);
// a.ObjectResponse["data"][1][0]["i"].Value<long>().Should().Be(SecondInOrderWidgetId);
// a.ObjectResponse["data"][2][0]["i"].Value<long>().Should().Be(ThirdInOrderWidgetId);
// a = await Util.DeleteAsync("widget/" + FirstInOrderWidgetId.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"));
// Util.ValidateHTTPStatusCode(a, 204);
// a = await Util.DeleteAsync("widget/" + SecondInOrderWidgetId.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"));
// Util.ValidateHTTPStatusCode(a, 204);
// a = await Util.DeleteAsync("widget/" + ThirdInOrderWidgetId.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"));
// Util.ValidateHTTPStatusCode(a, 204);
// }
// /// <summary>
// ///
// /// </summary>
// [Fact]
// public async Task SortByMultipleFieldsWorks()
// {
// /*
// Created order:
// dollaramount, count
// 2,1
// 1,2
// 2,2
// 1,1
// sorted order:
// dollar asc, count desc
// 1,2
// 1,1
// 2,2
// 2,1
// */
// var WidgetNameStart = Util.Uniquify("SortByMultipleFieldsWorks");
// //CREATE 4 TEST WIDGETS TO TEST ORDER
// long FirstInOrderWidgetId = 0;
// long SecondInOrderWidgetId = 0;
// long ThirdInOrderWidgetId = 0;
// long FourthInOrderWidgetId = 0;
// dynamic w = new JObject();
// w.name = Util.Uniquify(WidgetNameStart);
// w.customFields = Util.WidgetRequiredCustomFieldsJsonString();
// w.notes = "blah";
// w.dollaramount = 2.22;
// w.count = 1;
// w.usertype = 1;
// ApiResponse a = await Util.PostAsync("widget", await Util.GetTokenAsync("superuser", "l3tm3in"), w.ToString());
// Util.ValidateDataReturnResponseOk(a);
// FourthInOrderWidgetId = a.ObjectResponse["data"]["id"].Value<long>();
w = new JObject();
w.name = Util.Uniquify(WidgetNameStart);
w.customFields = Util.WidgetRequiredCustomFieldsJsonString();
w.notes = "blah";
w.dollaramount = 1.11;
w.count = 2;
w.usertype = 1;
a = await Util.PostAsync("widget", await Util.GetTokenAsync("superuser", "l3tm3in"), w.ToString());
Util.ValidateDataReturnResponseOk(a);
FirstInOrderWidgetId = a.ObjectResponse["data"]["id"].Value<long>();
w = new JObject();
w.name = Util.Uniquify(WidgetNameStart);
w.customFields = Util.WidgetRequiredCustomFieldsJsonString();
w.notes = "blah";
w.dollaramount = 1.11;
w.count = 1;
w.usertype = 1;
a = await Util.PostAsync("widget", await Util.GetTokenAsync("superuser", "l3tm3in"), w.ToString());
Util.ValidateDataReturnResponseOk(a);
SecondInOrderWidgetId = a.ObjectResponse["data"]["id"].Value<long>();
w = new JObject();
w.name = Util.Uniquify(WidgetNameStart);
w.customFields = Util.WidgetRequiredCustomFieldsJsonString();
w.notes = "blah";
w.dollaramount = 2.22;
w.count = 2;
w.usertype = 1;
a = await Util.PostAsync("widget", await Util.GetTokenAsync("superuser", "l3tm3in"), w.ToString());
Util.ValidateDataReturnResponseOk(a);
ThirdInOrderWidgetId = a.ObjectResponse["data"]["id"].Value<long>();
// w = new JObject();
// w.name = Util.Uniquify(WidgetNameStart);
// w.customFields = Util.WidgetRequiredCustomFieldsJsonString();
// w.notes = "blah";
// w.dollaramount = 1.11;
// w.count = 2;
// w.usertype = 1;
// a = await Util.PostAsync("widget", await Util.GetTokenAsync("superuser", "l3tm3in"), w.ToString());
// Util.ValidateDataReturnResponseOk(a);
// FirstInOrderWidgetId = a.ObjectResponse["data"]["id"].Value<long>();
// w = new JObject();
// w.name = Util.Uniquify(WidgetNameStart);
// w.customFields = Util.WidgetRequiredCustomFieldsJsonString();
// w.notes = "blah";
// w.dollaramount = 1.11;
// w.count = 1;
// w.usertype = 1;
// a = await Util.PostAsync("widget", await Util.GetTokenAsync("superuser", "l3tm3in"), w.ToString());
// Util.ValidateDataReturnResponseOk(a);
// SecondInOrderWidgetId = a.ObjectResponse["data"]["id"].Value<long>();
// w = new JObject();
// w.name = Util.Uniquify(WidgetNameStart);
// w.customFields = Util.WidgetRequiredCustomFieldsJsonString();
// w.notes = "blah";
// w.dollaramount = 2.22;
// w.count = 2;
// w.usertype = 1;
// a = await Util.PostAsync("widget", await Util.GetTokenAsync("superuser", "l3tm3in"), w.ToString());
// Util.ValidateDataReturnResponseOk(a);
// ThirdInOrderWidgetId = a.ObjectResponse["data"]["id"].Value<long>();
//CREATE FILTER
//FILTER IN BY NAME FOR TESTING THIS RUN ONLY
dynamic dListView = new JArray();
//name starts with filter to constrict to widgets that this test block created only
dListView.Add(Util.BuildSimpleFilterDataListViewColumn("widgetname", Util.OpStartsWith, WidgetNameStart));
//SORT ORDER ###################
// dynamic dsortarray = new JArray();
//First column
// dynamic dsort1 = new JObject();
// dsort1.fld = "widgetdollaramount";
// dsort1.dir = "+";
// dsortarray.Add(dsort1);
dListView.Add(Util.BuildSimpleSortDataListViewColumn("widgetdollaramount", "+"));
//Second column
// dynamic dsort2 = new JObject();
// dsort2.fld = "widgetcount";
// dsort2.dir = "-";
// dsortarray.Add(dsort2);
dListView.Add(Util.BuildSimpleSortDataListViewColumn("widgetcount", "-"));
//NOW FETCH WIDGET LIST WITH FILTER
a = await Util.PostAsync($"data-list", await Util.GetTokenAsync("superuser", "l3tm3in"), Util.BuildDataListRequestEx(dListView));
Util.ValidateDataReturnResponseOk(a);
Util.ValidateHTTPStatusCode(a, 200);
//assert contains exactly 3 records
((JArray)a.ObjectResponse["data"]).Count.Should().Be(4);
//assert the order returned
a.ObjectResponse["data"][0][0]["i"].Value<long>().Should().Be(FirstInOrderWidgetId);
a.ObjectResponse["data"][1][0]["i"].Value<long>().Should().Be(SecondInOrderWidgetId);
a.ObjectResponse["data"][2][0]["i"].Value<long>().Should().Be(ThirdInOrderWidgetId);
a.ObjectResponse["data"][3][0]["i"].Value<long>().Should().Be(FourthInOrderWidgetId);
a = await Util.DeleteAsync("widget/" + FirstInOrderWidgetId.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"));
Util.ValidateHTTPStatusCode(a, 204);
a = await Util.DeleteAsync("widget/" + SecondInOrderWidgetId.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"));
Util.ValidateHTTPStatusCode(a, 204);
a = await Util.DeleteAsync("widget/" + ThirdInOrderWidgetId.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"));
Util.ValidateHTTPStatusCode(a, 204);
a = await Util.DeleteAsync("widget/" + FourthInOrderWidgetId.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"));
Util.ValidateHTTPStatusCode(a, 204);
}
//========================================================================
}//eoc
}//eons
// //CREATE FILTER
// //FILTER IN BY NAME FOR TESTING THIS RUN ONLY
// dynamic dListView = new JArray();
// //name starts with filter to constrict to widgets that this test block created only
// dListView.Add(Util.BuildSimpleFilterDataListViewColumn("widgetname", Util.OpStartsWith, WidgetNameStart));
// //SORT ORDER ###################
// // dynamic dsortarray = new JArray();
// //First column
// // dynamic dsort1 = new JObject();
// // dsort1.fld = "widgetdollaramount";
// // dsort1.dir = "+";
// // dsortarray.Add(dsort1);
// dListView.Add(Util.BuildSimpleSortDataListViewColumn("widgetdollaramount", "+"));
// //Second column
// // dynamic dsort2 = new JObject();
// // dsort2.fld = "widgetcount";
// // dsort2.dir = "-";
// // dsortarray.Add(dsort2);
// dListView.Add(Util.BuildSimpleSortDataListViewColumn("widgetcount", "-"));
// //NOW FETCH WIDGET LIST WITH FILTER
// a = await Util.PostAsync($"data-list", await Util.GetTokenAsync("superuser", "l3tm3in"), Util.BuildDataListRequestEx(dListView));
// Util.ValidateDataReturnResponseOk(a);
// Util.ValidateHTTPStatusCode(a, 200);
// //assert contains exactly 3 records
// ((JArray)a.ObjectResponse["data"]).Count.Should().Be(4);
// //assert the order returned
// a.ObjectResponse["data"][0][0]["i"].Value<long>().Should().Be(FirstInOrderWidgetId);
// a.ObjectResponse["data"][1][0]["i"].Value<long>().Should().Be(SecondInOrderWidgetId);
// a.ObjectResponse["data"][2][0]["i"].Value<long>().Should().Be(ThirdInOrderWidgetId);
// a.ObjectResponse["data"][3][0]["i"].Value<long>().Should().Be(FourthInOrderWidgetId);
// a = await Util.DeleteAsync("widget/" + FirstInOrderWidgetId.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"));
// Util.ValidateHTTPStatusCode(a, 204);
// a = await Util.DeleteAsync("widget/" + SecondInOrderWidgetId.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"));
// Util.ValidateHTTPStatusCode(a, 204);
// a = await Util.DeleteAsync("widget/" + ThirdInOrderWidgetId.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"));
// Util.ValidateHTTPStatusCode(a, 204);
// a = await Util.DeleteAsync("widget/" + FourthInOrderWidgetId.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"));
// Util.ValidateHTTPStatusCode(a, 204);
// }
// //========================================================================
// }//eoc
// }//eons

View File

@@ -1,202 +1,202 @@
using System;
using Xunit;
using Newtonsoft.Json.Linq;
using FluentAssertions;
using System.Collections.Generic;
using System.Collections.Concurrent;
// using System;
// using Xunit;
// using Newtonsoft.Json.Linq;
// using FluentAssertions;
// using System.Collections.Generic;
// using System.Collections.Concurrent;
namespace raven_integration
{
// namespace raven_integration
// {
public class DataListFilterCrud
{
// public class DataListFilterCrud
// {
/// <summary>
/// Test all CRUD routes
/// </summary>
[Fact]
public async Task CRUD()
{
//CREATE
dynamic d = new JObject();
d.name = Util.Uniquify("Test DataListView");
// /// <summary>
// /// Test all CRUD routes
// /// </summary>
// [Fact]
// public async Task CRUD()
// {
// //CREATE
// dynamic d = new JObject();
// d.name = Util.Uniquify("Test DataListView");
d["public"] = true;
d.listKey="TestWidgetDataList";
// d["public"] = true;
// d.listKey="TestWidgetDataList";
//"[{fld:"name",op:"!=",value:"Notequaltothis"},{fld:"tags",op:"Eq",value:"[23,456,54]"}]
dynamic dListView = new JArray();
// dynamic df = new JObject();
// df.fld = "widgetname";
// df.op = "%-";
// df.value = "Generic";//lots of seed widgets start with Generic
// dListView.Add(df);
// d.filter = dListView.ToString();//it expects it to be a json string, not actual json
dListView.Add(Util.BuildSimpleFilterDataListViewColumn("widgetname", Util.OpStartsWith, "Generic"));
d.listView=dListView.ToString(Newtonsoft.Json.Formatting.None);
// //"[{fld:"name",op:"!=",value:"Notequaltothis"},{fld:"tags",op:"Eq",value:"[23,456,54]"}]
// dynamic dListView = new JArray();
// // dynamic df = new JObject();
// // df.fld = "widgetname";
// // df.op = "%-";
// // df.value = "Generic";//lots of seed widgets start with Generic
// // dListView.Add(df);
// // d.filter = dListView.ToString();//it expects it to be a json string, not actual json
// dListView.Add(Util.BuildSimpleFilterDataListViewColumn("widgetname", Util.OpStartsWith, "Generic"));
// d.listView=dListView.ToString(Newtonsoft.Json.Formatting.None);
ApiResponse a = await Util.PostAsync("data-list-view", await Util.GetTokenAsync("BizAdmin"), d.ToString(Newtonsoft.Json.Formatting.None));
Util.ValidateDataReturnResponseOk(a);
// ApiResponse a = await Util.PostAsync("data-list-view", await Util.GetTokenAsync("BizAdmin"), d.ToString(Newtonsoft.Json.Formatting.None));
// Util.ValidateDataReturnResponseOk(a);
long Id = a.ObjectResponse["data"]["id"].Value<long>();
// long Id = a.ObjectResponse["data"]["id"].Value<long>();
//RETRIEVE
//Get one
a = await Util.GetAsync("data-list-view/" + Id.ToString(), await Util.GetTokenAsync("BizAdmin"));
Util.ValidateDataReturnResponseOk(a);
a.ObjectResponse["data"]["name"].Value<string>().Should().StartWith("Test DataListView");
// //RETRIEVE
// //Get one
// a = await Util.GetAsync("data-list-view/" + Id.ToString(), await Util.GetTokenAsync("BizAdmin"));
// Util.ValidateDataReturnResponseOk(a);
// a.ObjectResponse["data"]["name"].Value<string>().Should().StartWith("Test DataListView");
//Get as alternate user should work for public filter
a = await Util.GetAsync("data-list-view/" + Id.ToString(), await Util.GetTokenAsync("SubContractorRestricted"));
Util.ValidateDataReturnResponseOk(a);
a.ObjectResponse["data"]["name"].Value<string>().Should().StartWith("Test DataListView");
// //Get as alternate user should work for public filter
// a = await Util.GetAsync("data-list-view/" + Id.ToString(), await Util.GetTokenAsync("SubContractorRestricted"));
// Util.ValidateDataReturnResponseOk(a);
// a.ObjectResponse["data"]["name"].Value<string>().Should().StartWith("Test DataListView");
//UPDATE
// //UPDATE
//PUT, make private
d["public"] = false;
d.name = Util.Uniquify("Put - Test DataListView (privatized)");
d.concurrency = a.ObjectResponse["data"]["concurrency"].Value<uint>();
a = await Util.PutAsync("data-list-view/" + Id.ToString(), await Util.GetTokenAsync("BizAdmin"), d.ToString());
Util.ValidateHTTPStatusCode(a, 200);
// //PUT, make private
// d["public"] = false;
// d.name = Util.Uniquify("Put - Test DataListView (privatized)");
// d.concurrency = a.ObjectResponse["data"]["concurrency"].Value<uint>();
// a = await Util.PutAsync("data-list-view/" + Id.ToString(), await Util.GetTokenAsync("BizAdmin"), d.ToString());
// Util.ValidateHTTPStatusCode(a, 200);
//check PUT worked
a = await Util.GetAsync("data-list-view/" + Id.ToString(), await Util.GetTokenAsync("BizAdmin"));
Util.ValidateNoErrorInResponse(a);
a.ObjectResponse["data"]["name"].Value<string>().Should().Be(d.name.ToString());
// //check PUT worked
// a = await Util.GetAsync("data-list-view/" + Id.ToString(), await Util.GetTokenAsync("BizAdmin"));
// Util.ValidateNoErrorInResponse(a);
// a.ObjectResponse["data"]["name"].Value<string>().Should().Be(d.name.ToString());
//FETCH DISALLOWED
//Get as alternate user should fail for private filter
a = await Util.GetAsync("data-list-view/" + Id.ToString(), await Util.GetTokenAsync("SubContractorRestricted"));
Util.ValidateResponseNotFound(a);
// //FETCH DISALLOWED
// //Get as alternate user should fail for private filter
// a = await Util.GetAsync("data-list-view/" + Id.ToString(), await Util.GetTokenAsync("SubContractorRestricted"));
// Util.ValidateResponseNotFound(a);
// //DELETE
ApiResponse DELETETestResponse = await Util.DeleteAsync("data-list-view/" + Id.ToString(), await Util.GetTokenAsync("BizAdmin"));
Util.ValidateHTTPStatusCode(DELETETestResponse, 204);
// // //DELETE
// ApiResponse DELETETestResponse = await Util.DeleteAsync("data-list-view/" + Id.ToString(), await Util.GetTokenAsync("BizAdmin"));
// Util.ValidateHTTPStatusCode(DELETETestResponse, 204);
}
// }
/// <summary>
///
/// </summary>
[Fact]
public async Task InvalidListKeyShouldFail()
{
//CREATE
dynamic d = new JObject();
d.name = Util.Uniquify("Test DataListView");
// /// <summary>
// ///
// /// </summary>
// [Fact]
// public async Task InvalidListKeyShouldFail()
// {
// //CREATE
// dynamic d = new JObject();
// d.name = Util.Uniquify("Test DataListView");
d["public"] = true;
d.listKey = "nonexistant";
// d["public"] = true;
// d.listKey = "nonexistant";
//"[{fld:"name",op:"!=",value:"Notequaltothis"},{fld:"tags",op:"Eq",value:"[23,456,54]"}]
// dynamic dfilter = new JArray();
// dynamic df = new JObject();
// df.fld = "name";
// df.op = "%-";
// df.value = "Generic";//lots of seed widgets start with Generic
// dfilter.Add(df);
// //"[{fld:"name",op:"!=",value:"Notequaltothis"},{fld:"tags",op:"Eq",value:"[23,456,54]"}]
// // dynamic dfilter = new JArray();
// // dynamic df = new JObject();
// // df.fld = "name";
// // df.op = "%-";
// // df.value = "Generic";//lots of seed widgets start with Generic
// // dfilter.Add(df);
// d.filter = dfilter.ToString();//it expects it to be a json string, not actual json
// // d.filter = dfilter.ToString();//it expects it to be a json string, not actual json
// ApiResponse a = await Util.PostAsync("data-list-view", await Util.GetTokenAsync("BizAdmin"), d.ToString());
// // ApiResponse a = await Util.PostAsync("data-list-view", await Util.GetTokenAsync("BizAdmin"), d.ToString());
dynamic dListView = new JArray();
// dynamic df = new JObject();
// df.fld = "widgetname";
// df.op = "%-";
// df.value = "Generic";//lots of seed widgets start with Generic
// dListView.Add(df);
// d.filter = dListView.ToString();//it expects it to be a json string, not actual json
dListView.Add(Util.BuildSimpleFilterDataListViewColumn("widgetname", Util.OpStartsWith, "Generic"));
d.listView=dListView.ToString(Newtonsoft.Json.Formatting.None);
// dynamic dListView = new JArray();
// // dynamic df = new JObject();
// // df.fld = "widgetname";
// // df.op = "%-";
// // df.value = "Generic";//lots of seed widgets start with Generic
// // dListView.Add(df);
// // d.filter = dListView.ToString();//it expects it to be a json string, not actual json
// dListView.Add(Util.BuildSimpleFilterDataListViewColumn("widgetname", Util.OpStartsWith, "Generic"));
// d.listView=dListView.ToString(Newtonsoft.Json.Formatting.None);
ApiResponse a = await Util.PostAsync("data-list-view", await Util.GetTokenAsync("BizAdmin"), d.ToString(Newtonsoft.Json.Formatting.None));
Util.ValidateErrorCodeResponse(a, 2200, 400);
Util.ShouldContainValidationError(a, "ListKey", "2203");
// ApiResponse a = await Util.PostAsync("data-list-view", await Util.GetTokenAsync("BizAdmin"), d.ToString(Newtonsoft.Json.Formatting.None));
// Util.ValidateErrorCodeResponse(a, 2200, 400);
// Util.ShouldContainValidationError(a, "ListKey", "2203");
}
// }
/// <summary>
///
/// </summary>
[Fact]
public async Task InvalidFieldNameShouldFail()
{
//CREATE
dynamic d = new JObject();
d.name = Util.Uniquify("Test DataListView");
// /// <summary>
// ///
// /// </summary>
// [Fact]
// public async Task InvalidFieldNameShouldFail()
// {
// //CREATE
// dynamic d = new JObject();
// d.name = Util.Uniquify("Test DataListView");
d["public"] = true;
d.listKey="TestWidgetDataList";
// d["public"] = true;
// d.listKey="TestWidgetDataList";
//"[{fld:"name",op:"!=",value:"Notequaltothis"},{fld:"tags",op:"Eq",value:"[23,456,54]"}]
// dynamic dfilter = new JArray();
// dynamic df = new JObject();
// df.fld = "doesntexist";
// df.op = "%-";
// df.value = "Generic";//lots of seed widgets start with Generic
// dfilter.Add(df);
// //"[{fld:"name",op:"!=",value:"Notequaltothis"},{fld:"tags",op:"Eq",value:"[23,456,54]"}]
// // dynamic dfilter = new JArray();
// // dynamic df = new JObject();
// // df.fld = "doesntexist";
// // df.op = "%-";
// // df.value = "Generic";//lots of seed widgets start with Generic
// // dfilter.Add(df);
// d.filter = dfilter.ToString();//it expects it to be a json string, not actual json
// // d.filter = dfilter.ToString();//it expects it to be a json string, not actual json
// ApiResponse a = await Util.PostAsync("data-list-view", await Util.GetTokenAsync("BizAdmin"), d.ToString());
dynamic dListView = new JArray();
// dynamic df = new JObject();
// df.fld = "widgetname";
// df.op = "%-";
// df.value = "Generic";//lots of seed widgets start with Generic
// dListView.Add(df);
// d.filter = dListView.ToString();//it expects it to be a json string, not actual json
dListView.Add(Util.BuildSimpleFilterDataListViewColumn("doesntexist", Util.OpStartsWith, "Generic"));
d.listView=dListView.ToString(Newtonsoft.Json.Formatting.None);
// // ApiResponse a = await Util.PostAsync("data-list-view", await Util.GetTokenAsync("BizAdmin"), d.ToString());
// dynamic dListView = new JArray();
// // dynamic df = new JObject();
// // df.fld = "widgetname";
// // df.op = "%-";
// // df.value = "Generic";//lots of seed widgets start with Generic
// // dListView.Add(df);
// // d.filter = dListView.ToString();//it expects it to be a json string, not actual json
// dListView.Add(Util.BuildSimpleFilterDataListViewColumn("doesntexist", Util.OpStartsWith, "Generic"));
// d.listView=dListView.ToString(Newtonsoft.Json.Formatting.None);
ApiResponse a = await Util.PostAsync("data-list-view", await Util.GetTokenAsync("BizAdmin"), d.ToString(Newtonsoft.Json.Formatting.None));
Util.ValidateErrorCodeResponse(a, 2200, 400);
Util.ShouldContainValidationError(a, "ListView", "2203");
// ApiResponse a = await Util.PostAsync("data-list-view", await Util.GetTokenAsync("BizAdmin"), d.ToString(Newtonsoft.Json.Formatting.None));
// Util.ValidateErrorCodeResponse(a, 2200, 400);
// Util.ShouldContainValidationError(a, "ListView", "2203");
}
// }
//REMOVED THIS VALIDATION TEST AS SWITCH TO DATALISTVIEW NO LONGER VALIDATES FILTER ANYWAY
//ONLY COLUMN NAMES AND LIST NAME
// /// <summary>
// ///
// /// </summary>
// [Fact]
// public async Task InvalidOperatorShouldFail()
// {
// //CREATE
// dynamic d = new JObject();
// d.name = Util.Uniquify("Test DataListView");
// //REMOVED THIS VALIDATION TEST AS SWITCH TO DATALISTVIEW NO LONGER VALIDATES FILTER ANYWAY
// //ONLY COLUMN NAMES AND LIST NAME
// // /// <summary>
// // ///
// // /// </summary>
// // [Fact]
// // public async Task InvalidOperatorShouldFail()
// // {
// // //CREATE
// // dynamic d = new JObject();
// // d.name = Util.Uniquify("Test DataListView");
// d["public"] = true;
// d.listKey="TestWidgetDataList";
// // d["public"] = true;
// // d.listKey="TestWidgetDataList";
// //"[{fld:"name",op:"!=",value:"Notequaltothis"},{fld:"tags",op:"Eq",value:"[23,456,54]"}]
// dynamic dfilter = new JArray();
// dynamic df = new JObject();
// df.fld = "name";
// df.op = "wtf";
// df.value = "Generic";//lots of seed widgets start with Generic
// dfilter.Add(df);
// // //"[{fld:"name",op:"!=",value:"Notequaltothis"},{fld:"tags",op:"Eq",value:"[23,456,54]"}]
// // dynamic dfilter = new JArray();
// // dynamic df = new JObject();
// // df.fld = "name";
// // df.op = "wtf";
// // df.value = "Generic";//lots of seed widgets start with Generic
// // dfilter.Add(df);
// d.filter = dfilter.ToString();//it expects it to be a json string, not actual json
// // d.filter = dfilter.ToString();//it expects it to be a json string, not actual json
// ApiResponse a = await Util.PostAsync("data-list-view", await Util.GetTokenAsync("BizAdmin"), d.ToString());
// Util.ValidateErrorCodeResponse(a, 2200, 400);
// Util.ShouldContainValidationError(a, "Filter", "2203");
// // ApiResponse a = await Util.PostAsync("data-list-view", await Util.GetTokenAsync("BizAdmin"), d.ToString());
// // Util.ValidateErrorCodeResponse(a, 2200, 400);
// // Util.ShouldContainValidationError(a, "Filter", "2203");
// }
// // }
//==================================================
// //==================================================
}//eoc
}//eons
// }//eoc
// }//eons