From 3347f93b6343d341ba1d09f1b0fe7a94f1b273b6 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Wed, 12 Feb 2020 00:10:17 +0000 Subject: [PATCH] --- DataList/DataListFiltering.cs | 738 ++++++++-------------------------- 1 file changed, 157 insertions(+), 581 deletions(-) diff --git a/DataList/DataListFiltering.cs b/DataList/DataListFiltering.cs index 1d3f2ea..6db4713 100644 --- a/DataList/DataListFiltering.cs +++ b/DataList/DataListFiltering.cs @@ -119,11 +119,6 @@ same as the server does but in a central location here for all tests to use. ExcludedWidgetId = a.ObjectResponse["data"]["id"].Value(); //CREATE FILTER - dynamic d = new JObject(); - d.name = Util.Uniquify(WidgetNameStart); - - d["public"] = true; - d.listKey = "TestWidgetDataList"; dynamic dfilter = new JArray(); @@ -141,15 +136,9 @@ same as the server does but in a central location here for all tests to use. FilterItem.value = new DateTime(1968, 3, 12, 10, 0, 0).ToOffsetAdjustedUniversalTime(); dfilter.Add(FilterItem); - d.filter = dfilter.ToString();//it expects it to be a json string, not actual json - - a = await Util.PostAsync("DataListFilter", await Util.GetTokenAsync("BizAdminFull"), d.ToString()); - Util.ValidateDataReturnResponseOk(a); - - long DataFilterId = a.ObjectResponse["data"]["id"].Value(); //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -187,10 +176,6 @@ same as the server does but in a central location here for all tests to use. Util.ValidateHTTPStatusCode(a, 204); - //DELETE DATAFILTER - a = await Util.DeleteAsync("DataListFilter/" + DataFilterId.ToString(), await Util.GetTokenAsync("BizAdminFull")); - Util.ValidateHTTPStatusCode(a, 204); - } @@ -231,12 +216,6 @@ same as the server does but in a central location here for all tests to use. ExcludedWidgetId = a.ObjectResponse["data"]["id"].Value(); //CREATE FILTER - dynamic d = new JObject(); - d.name = Util.Uniquify(WidgetNameStart); - - d["public"] = true; - d.listKey = "TestWidgetDataList"; - dynamic dfilter = new JArray(); //name starts with filter to constrict to widgets that this test block created only @@ -253,15 +232,9 @@ same as the server does but in a central location here for all tests to use. FilterItem.value = new DateTime(1970, 3, 12, 9, 0, 0).ToOffsetAdjustedUniversalTime(); dfilter.Add(FilterItem); - d.filter = dfilter.ToString();//it expects it to be a json string, not actual json - - a = await Util.PostAsync("DataListFilter", await Util.GetTokenAsync("BizAdminFull"), d.ToString()); - Util.ValidateDataReturnResponseOk(a); - - long DataFilterId = a.ObjectResponse["data"]["id"].Value(); //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -271,13 +244,7 @@ same as the server does but in a central location here for all tests to use. List IDInResultList = new List(); int InclusiveMatchCount = 0; int ExclusiveMatchCount = 0; - // foreach (JObject o in v) - // { - // if (IncludedWidgetId == o["id"].Value()) - // InclusiveMatchCount++; - // if (ExcludedWidgetId == o["id"].Value())//whups - // ExclusiveMatchCount++; - // } + foreach (JArray ja in v) { JObject o = ja[0] as JObject; @@ -297,11 +264,6 @@ same as the server does but in a central location here for all tests to use. a = await Util.DeleteAsync("Widget/" + ExcludedWidgetId.ToString(), await Util.GetTokenAsync("BizAdminFull")); Util.ValidateHTTPStatusCode(a, 204); - - - //DELETE DATAFILTER - a = await Util.DeleteAsync("DataListFilter/" + DataFilterId.ToString(), await Util.GetTokenAsync("BizAdminFull")); - Util.ValidateHTTPStatusCode(a, 204); } @@ -343,11 +305,6 @@ same as the server does but in a central location here for all tests to use. ExcludedWidgetId = a.ObjectResponse["data"]["id"].Value(); //CREATE FILTER - dynamic d = new JObject(); - d.name = Util.Uniquify(WidgetNameStart); - - d["public"] = true; - d.listKey = "TestWidgetDataList"; dynamic dfilter = new JArray(); @@ -365,15 +322,10 @@ same as the server does but in a central location here for all tests to use. FilterItem.value = new DateTime(1970, 3, 12, 10, 0, 0).ToOffsetAdjustedUniversalTime(); dfilter.Add(FilterItem); - d.filter = dfilter.ToString();//it expects it to be a json string, not actual json - a = await Util.PostAsync("DataListFilter", await Util.GetTokenAsync("BizAdminFull"), d.ToString()); - Util.ValidateDataReturnResponseOk(a); - - long DataFilterId = a.ObjectResponse["data"]["id"].Value(); //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -383,13 +335,7 @@ same as the server does but in a central location here for all tests to use. List IDInResultList = new List(); int InclusiveMatchCount = 0; int ExclusiveMatchCount = 0; - // foreach (JObject o in v) - // { - // if (IncludedWidgetId == o["id"].Value()) - // InclusiveMatchCount++; - // if (ExcludedWidgetId == o["id"].Value())//whups - // ExclusiveMatchCount++; - // } + foreach (JArray ja in v) { JObject o = ja[0] as JObject; @@ -409,11 +355,6 @@ same as the server does but in a central location here for all tests to use. a = await Util.DeleteAsync("Widget/" + ExcludedWidgetId.ToString(), await Util.GetTokenAsync("BizAdminFull")); Util.ValidateHTTPStatusCode(a, 204); - - - //DELETE DATAFILTER - a = await Util.DeleteAsync("DataListFilter/" + DataFilterId.ToString(), await Util.GetTokenAsync("BizAdminFull")); - Util.ValidateHTTPStatusCode(a, 204); } @@ -454,12 +395,6 @@ same as the server does but in a central location here for all tests to use. ExcludedWidgetId = a.ObjectResponse["data"]["id"].Value(); //CREATE FILTER - dynamic d = new JObject(); - d.name = Util.Uniquify(WidgetNameStart); - - d["public"] = true; - d.listKey = "TestWidgetDataList"; - dynamic dfilter = new JArray(); //name starts with filter to constrict to widgets that this test block created only @@ -476,15 +411,8 @@ same as the server does but in a central location here for all tests to use. FilterItem.value = new DateTime(1970, 3, 12, 11, 0, 0).ToOffsetAdjustedUniversalTime(); dfilter.Add(FilterItem); - d.filter = dfilter.ToString();//it expects it to be a json string, not actual json - - a = await Util.PostAsync("DataListFilter", await Util.GetTokenAsync("BizAdminFull"), d.ToString()); - Util.ValidateDataReturnResponseOk(a); - - long DataFilterId = a.ObjectResponse["data"]["id"].Value(); - //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -513,11 +441,6 @@ same as the server does but in a central location here for all tests to use. a = await Util.DeleteAsync("Widget/" + ExcludedWidgetId.ToString(), await Util.GetTokenAsync("BizAdminFull")); Util.ValidateHTTPStatusCode(a, 204); - - - //DELETE DATAFILTER - a = await Util.DeleteAsync("DataListFilter/" + DataFilterId.ToString(), await Util.GetTokenAsync("BizAdminFull")); - Util.ValidateHTTPStatusCode(a, 204); } @@ -559,12 +482,6 @@ same as the server does but in a central location here for all tests to use. ExcludedWidgetId = a.ObjectResponse["data"]["id"].Value(); //CREATE FILTER - dynamic d = new JObject(); - d.name = Util.Uniquify(WidgetNameStart); - - d["public"] = true; - d.listKey = "TestWidgetDataList"; - dynamic dfilter = new JArray(); //name starts with filter to constrict to widgets that this test block created only @@ -580,16 +497,8 @@ same as the server does but in a central location here for all tests to use. FilterItem.op = Util.OpLessThanOrEqualTo; FilterItem.value = new DateTime(1970, 3, 12, 10, 0, 0).ToOffsetAdjustedUniversalTime(); dfilter.Add(FilterItem); - - d.filter = dfilter.ToString();//it expects it to be a json string, not actual json - - a = await Util.PostAsync("DataListFilter", await Util.GetTokenAsync("BizAdminFull"), d.ToString()); - Util.ValidateDataReturnResponseOk(a); - - long DataFilterId = a.ObjectResponse["data"]["id"].Value(); - //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -618,11 +527,6 @@ same as the server does but in a central location here for all tests to use. a = await Util.DeleteAsync("Widget/" + ExcludedWidgetId.ToString(), await Util.GetTokenAsync("BizAdminFull")); Util.ValidateHTTPStatusCode(a, 204); - - - //DELETE DATAFILTER - a = await Util.DeleteAsync("DataListFilter/" + DataFilterId.ToString(), await Util.GetTokenAsync("BizAdminFull")); - Util.ValidateHTTPStatusCode(a, 204); } @@ -664,12 +568,6 @@ same as the server does but in a central location here for all tests to use. ExcludedWidgetId = a.ObjectResponse["data"]["id"].Value(); //CREATE FILTER - dynamic d = new JObject(); - d.name = Util.Uniquify(WidgetNameStart); - - d["public"] = true; - d.listKey = "TestWidgetDataList"; - dynamic dfilter = new JArray(); //name starts with filter to constrict to widgets that this test block created only @@ -685,16 +583,8 @@ same as the server does but in a central location here for all tests to use. FilterItem.op = Util.OpNotEqual; FilterItem.value = new DateTime(1970, 4, 10, 10, 0, 0).ToOffsetAdjustedUniversalTime(); dfilter.Add(FilterItem); - - d.filter = dfilter.ToString();//it expects it to be a json string, not actual json - - a = await Util.PostAsync("DataListFilter", await Util.GetTokenAsync("BizAdminFull"), d.ToString()); - Util.ValidateDataReturnResponseOk(a); - - long DataFilterId = a.ObjectResponse["data"]["id"].Value(); - //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -723,11 +613,6 @@ same as the server does but in a central location here for all tests to use. a = await Util.DeleteAsync("Widget/" + ExcludedWidgetId.ToString(), await Util.GetTokenAsync("BizAdminFull")); Util.ValidateHTTPStatusCode(a, 204); - - - //DELETE DATAFILTER - a = await Util.DeleteAsync("DataListFilter/" + DataFilterId.ToString(), await Util.GetTokenAsync("BizAdminFull")); - Util.ValidateHTTPStatusCode(a, 204); } @@ -769,11 +654,6 @@ same as the server does but in a central location here for all tests to use. ExcludedWidgetId = a.ObjectResponse["data"]["id"].Value(); //CREATE FILTER - dynamic d = new JObject(); - d.name = Util.Uniquify(WidgetNameStart); - - d["public"] = true; - d.listKey = "TestWidgetDataList"; dynamic dfilter = new JArray(); @@ -798,15 +678,10 @@ same as the server does but in a central location here for all tests to use. FilterItem2.value = new DateTime(2019, 3, 12, 11, 0, 0).ToOffsetAdjustedUniversalTime(); dfilter.Add(FilterItem2); - d.filter = dfilter.ToString();//it expects it to be a json string, not actual json - a = await Util.PostAsync("DataListFilter", await Util.GetTokenAsync("BizAdminFull"), d.ToString()); - Util.ValidateDataReturnResponseOk(a); - - long DataFilterId = a.ObjectResponse["data"]["id"].Value(); //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -816,13 +691,7 @@ same as the server does but in a central location here for all tests to use. List IDInResultList = new List(); int InclusiveMatchCount = 0; int ExclusiveMatchCount = 0; - // foreach (JObject o in v) - // { - // if (IncludedWidgetId == o["id"].Value()) - // InclusiveMatchCount++; - // if (ExcludedWidgetId == o["id"].Value())//whups - // ExclusiveMatchCount++; - // } + foreach (JArray ja in v) { JObject o = ja[0] as JObject; @@ -843,159 +712,155 @@ same as the server does but in a central location here for all tests to use. a = await Util.DeleteAsync("Widget/" + ExcludedWidgetId.ToString(), await Util.GetTokenAsync("BizAdminFull")); Util.ValidateHTTPStatusCode(a, 204); - - //DELETE DATAFILTER - a = await Util.DeleteAsync("DataListFilter/" + DataFilterId.ToString(), await Util.GetTokenAsync("BizAdminFull")); - Util.ValidateHTTPStatusCode(a, 204); } -/* -RELATIVE TOKEN EXAMPLE: + /* + RELATIVE TOKEN EXAMPLE: - public const string TokenYesterday = "{[yesterday]}"; - public const string TokenToday = "{[today]}"; - public const string TokenTomorrow = "{[tomorrow]}"; - public const string TokenLastWeek = "{[lastweek]}"; - public const string TokenThisWeek = "{[thisweek]}"; - public const string TokenNextWeek = "{[nextweek]}"; - public const string TokenLastMonth = "{[lastmonth]}"; - public const string TokenThisMonth = "{[thismonth]}"; - public const string TokenNextMonth = "{[nextmonth]}"; - public const string TokenFourteenDayWindow = "{[14daywindow]}"; - public const string TokenPast = "{[past]}"; - public const string TokenFuture = "{[future]}"; - public const string TokenLastYear = "{[lastyear]}"; - public const string TokenThisYear = "{[thisyear]}"; - public const string TokenInTheLast3Months = "{[last3months]}"; - public const string TokenInTheLast6Months = "{[last6months]}"; - public const string TokenInTheLastYear = "{[lastcalendaryear]}"; + public const string TokenYesterday = "{[yesterday]}"; + public const string TokenToday = "{[today]}"; + public const string TokenTomorrow = "{[tomorrow]}"; + public const string TokenLastWeek = "{[lastweek]}"; + public const string TokenThisWeek = "{[thisweek]}"; + public const string TokenNextWeek = "{[nextweek]}"; + public const string TokenLastMonth = "{[lastmonth]}"; + public const string TokenThisMonth = "{[thismonth]}"; + public const string TokenNextMonth = "{[nextmonth]}"; + public const string TokenFourteenDayWindow = "{[14daywindow]}"; + public const string TokenPast = "{[past]}"; + public const string TokenFuture = "{[future]}"; + public const string TokenLastYear = "{[lastyear]}"; + public const string TokenThisYear = "{[thisyear]}"; + public const string TokenInTheLast3Months = "{[last3months]}"; + public const string TokenInTheLast6Months = "{[last6months]}"; + public const string TokenInTheLastYear = "{[lastcalendaryear]}"; - //More business time frames + //More business time frames - public const string TokenYearToDate = "{[yeartodate]}"; + public const string TokenYearToDate = "{[yeartodate]}"; - public const string TokenPast90Days = "{[past90days]}"; - public const string TokenPast30Days = "{[past30days]}"; - public const string TokenPast24Hours = "{[past24hours]}"; + public const string TokenPast90Days = "{[past90days]}"; + public const string TokenPast30Days = "{[past30days]}"; + public const string TokenPast24Hours = "{[past24hours]}"; - //Months THIS year - public const string TokenJanuary = "{[january]}"; - public const string TokenFebruary = "{[february]}"; - public const string TokenMarch = "{[march]}"; - public const string TokenApril = "{[april]}"; - public const string TokenMay = "{[may]}"; - public const string TokenJune = "{[june]}"; - public const string TokenJuly = "{[july]}"; - public const string TokenAugust = "{[august]}"; - public const string TokenSeptember = "{[september]}"; - public const string TokenOctober = "{[october]}"; - public const string TokenNovember = "{[november]}"; - public const string TokenDecember = "{[december]}"; + //Months THIS year + public const string TokenJanuary = "{[january]}"; + public const string TokenFebruary = "{[february]}"; + public const string TokenMarch = "{[march]}"; + public const string TokenApril = "{[april]}"; + public const string TokenMay = "{[may]}"; + public const string TokenJune = "{[june]}"; + public const string TokenJuly = "{[july]}"; + public const string TokenAugust = "{[august]}"; + public const string TokenSeptember = "{[september]}"; + public const string TokenOctober = "{[october]}"; + public const string TokenNovember = "{[november]}"; + public const string TokenDecember = "{[december]}"; -/// - /// - /// - [Fact] - public async void DateTokenYesterdayFilterWorks() - { + /// + /// + /// + [Fact] + public async void DateTokenYesterdayFilterWorks() + { - var WidgetNameStart = "DateTokenYesterdayFilterWorks"; + var WidgetNameStart = "DateTokenYesterdayFilterWorks"; - long IncludedWidgetId = 0; - long ExcludedWidgetId = 0; + long IncludedWidgetId = 0; + long ExcludedWidgetId = 0; - //CREATE TEST WIDGETS + //CREATE TEST WIDGETS - //included widget - dynamic w = new JObject(); - w.name = Util.Uniquify(WidgetNameStart); - w.notes = "blah"; - w.customFields = Util.WidgetRequiredCustomFieldsJsonString(); - w.startDate = DateTime.UtcNow.AddDays(-1); - w.endDate = DateTime.UtcNow.AddHours(1).AddDays(-1); + //included widget + dynamic w = new JObject(); + w.name = Util.Uniquify(WidgetNameStart); + w.notes = "blah"; + w.customFields = Util.WidgetRequiredCustomFieldsJsonString(); + w.startDate = DateTime.UtcNow.AddDays(-1); + w.endDate = DateTime.UtcNow.AddHours(1).AddDays(-1); - ApiResponse a = await Util.PostAsync("Widget", await Util.GetTokenAsync("manager", "l3tm3in"), w.ToString()); - Util.ValidateDataReturnResponseOk(a); - IncludedWidgetId = a.ObjectResponse["data"]["id"].Value(); + ApiResponse a = await Util.PostAsync("Widget", await Util.GetTokenAsync("manager", "l3tm3in"), w.ToString()); + Util.ValidateDataReturnResponseOk(a); + IncludedWidgetId = a.ObjectResponse["data"]["id"].Value(); - //Excluded widget - w.name = Util.Uniquify(WidgetNameStart); - w.startDate = DateTime.UtcNow; - w.endDate = DateTime.UtcNow.AddHours(1); + //Excluded widget + w.name = Util.Uniquify(WidgetNameStart); + w.startDate = DateTime.UtcNow; + w.endDate = DateTime.UtcNow.AddHours(1); - a = await Util.PostAsync("Widget", await Util.GetTokenAsync("manager", "l3tm3in"), w.ToString()); - Util.ValidateDataReturnResponseOk(a); - ExcludedWidgetId = a.ObjectResponse["data"]["id"].Value(); + a = await Util.PostAsync("Widget", await Util.GetTokenAsync("manager", "l3tm3in"), w.ToString()); + Util.ValidateDataReturnResponseOk(a); + ExcludedWidgetId = a.ObjectResponse["data"]["id"].Value(); - //CREATE FILTER - dynamic d = new JObject(); - d.name = Util.Uniquify(WidgetNameStart); + //CREATE FILTER + dynamic d = new JObject(); + d.name = Util.Uniquify(WidgetNameStart); - d["public"] = true; - d.listKey = "TestWidgetDataList"; + d["public"] = true; + d.listKey = "TestWidgetDataList"; - dynamic dfilter = new JArray(); + dynamic dfilter = new JArray(); - //name starts with filter to constrict to widgets that this test block created only - dynamic DataFilterNameStart = new JObject(); - DataFilterNameStart.fld = "widgetname"; - DataFilterNameStart.op = Util.OpStartsWith; - DataFilterNameStart.value = WidgetNameStart; - dfilter.Add(DataFilterNameStart); + //name starts with filter to constrict to widgets that this test block created only + dynamic DataFilterNameStart = new JObject(); + DataFilterNameStart.fld = "widgetname"; + DataFilterNameStart.op = Util.OpStartsWith; + DataFilterNameStart.value = WidgetNameStart; + dfilter.Add(DataFilterNameStart); - //## INCLUSIVE FILTER - dynamic FilterItem = new JObject(); - FilterItem.fld = "widgetstartdate"; - FilterItem.op = Util.OpEquality; - FilterItem.value = TokenYesterday; - dfilter.Add(FilterItem); + //## INCLUSIVE FILTER + dynamic FilterItem = new JObject(); + FilterItem.fld = "widgetstartdate"; + FilterItem.op = Util.OpEquality; + FilterItem.value = TokenYesterday; + dfilter.Add(FilterItem); - 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 - a = await Util.PostAsync("DataListFilter", await Util.GetTokenAsync("BizAdminFull"), d.ToString()); - Util.ValidateDataReturnResponseOk(a); + a = await Util.PostAsync("DataListFilter", await Util.GetTokenAsync("BizAdminFull"), d.ToString()); + Util.ValidateDataReturnResponseOk(a); - long DataFilterId = a.ObjectResponse["data"]["id"].Value(); + long DataFilterId = a.ObjectResponse["data"]["id"].Value(); - //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); - Util.ValidateDataReturnResponseOk(a); - Util.ValidateHTTPStatusCode(a, 200); + //NOW FETCH WIDGET LIST WITH FILTER + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); + Util.ValidateDataReturnResponseOk(a); + Util.ValidateHTTPStatusCode(a, 200); - //assert contains at least this test record - ((JArray)a.ObjectResponse["data"]).Count.Should().BeGreaterThan(0); - var v = ((JArray)a.ObjectResponse["data"]); - List IDInResultList = new List(); - int InclusiveMatchCount = 0; - int ExclusiveMatchCount = 0; - foreach (JArray ja in v) - { - JObject o = ja[0] as JObject; - if (IncludedWidgetId == o["v"].Value()) - InclusiveMatchCount++; - if (ExcludedWidgetId == o["v"].Value()) - ExclusiveMatchCount++; - } + //assert contains at least this test record + ((JArray)a.ObjectResponse["data"]).Count.Should().BeGreaterThan(0); + var v = ((JArray)a.ObjectResponse["data"]); + List IDInResultList = new List(); + int InclusiveMatchCount = 0; + int ExclusiveMatchCount = 0; + foreach (JArray ja in v) + { + JObject o = ja[0] as JObject; + if (IncludedWidgetId == o["v"].Value()) + InclusiveMatchCount++; + if (ExcludedWidgetId == o["v"].Value()) + ExclusiveMatchCount++; + } - InclusiveMatchCount.Should().BeGreaterOrEqualTo(1); - ExclusiveMatchCount.Should().Be(0); + InclusiveMatchCount.Should().BeGreaterOrEqualTo(1); + ExclusiveMatchCount.Should().Be(0); - //DELETE WIDGETS - a = await Util.DeleteAsync("Widget/" + IncludedWidgetId.ToString(), await Util.GetTokenAsync("BizAdminFull")); - Util.ValidateHTTPStatusCode(a, 204); + //DELETE WIDGETS + a = await Util.DeleteAsync("Widget/" + IncludedWidgetId.ToString(), await Util.GetTokenAsync("BizAdminFull")); + Util.ValidateHTTPStatusCode(a, 204); - a = await Util.DeleteAsync("Widget/" + ExcludedWidgetId.ToString(), await Util.GetTokenAsync("BizAdminFull")); - Util.ValidateHTTPStatusCode(a, 204); + a = await Util.DeleteAsync("Widget/" + ExcludedWidgetId.ToString(), await Util.GetTokenAsync("BizAdminFull")); + Util.ValidateHTTPStatusCode(a, 204); - //DELETE DATAFILTER - a = await Util.DeleteAsync("DataListFilter/" + DataFilterId.ToString(), await Util.GetTokenAsync("BizAdminFull")); - Util.ValidateHTTPStatusCode(a, 204); - } + //DELETE DATAFILTER + a = await Util.DeleteAsync("DataListFilter/" + DataFilterId.ToString(), await Util.GetTokenAsync("BizAdminFull")); + Util.ValidateHTTPStatusCode(a, 204); + } -*/ + */ #endregion DATE REGULAR FILTERS //======== @@ -1093,7 +958,7 @@ RELATIVE TOKEN EXAMPLE: long DataFilterId = a.ObjectResponse["data"]["id"].Value(); //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -1219,7 +1084,7 @@ RELATIVE TOKEN EXAMPLE: long DataFilterId = a.ObjectResponse["data"]["id"].Value(); //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -1342,7 +1207,7 @@ RELATIVE TOKEN EXAMPLE: long DataFilterId = a.ObjectResponse["data"]["id"].Value(); //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -1475,7 +1340,7 @@ RELATIVE TOKEN EXAMPLE: long DataFilterId = a.ObjectResponse["data"]["id"].Value(); //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -1599,7 +1464,7 @@ RELATIVE TOKEN EXAMPLE: long DataFilterId = a.ObjectResponse["data"]["id"].Value(); //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -1723,7 +1588,7 @@ RELATIVE TOKEN EXAMPLE: long DataFilterId = a.ObjectResponse["data"]["id"].Value(); //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -1847,7 +1712,7 @@ RELATIVE TOKEN EXAMPLE: long DataFilterId = a.ObjectResponse["data"]["id"].Value(); //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -1971,7 +1836,7 @@ RELATIVE TOKEN EXAMPLE: long DataFilterId = a.ObjectResponse["data"]["id"].Value(); //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -2094,7 +1959,7 @@ RELATIVE TOKEN EXAMPLE: long DataFilterId = a.ObjectResponse["data"]["id"].Value(); //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -2217,7 +2082,7 @@ RELATIVE TOKEN EXAMPLE: long DataFilterId = a.ObjectResponse["data"]["id"].Value(); //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -2340,7 +2205,7 @@ RELATIVE TOKEN EXAMPLE: long DataFilterId = a.ObjectResponse["data"]["id"].Value(); //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -2463,7 +2328,7 @@ RELATIVE TOKEN EXAMPLE: long DataFilterId = a.ObjectResponse["data"]["id"].Value(); //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -2587,7 +2452,7 @@ RELATIVE TOKEN EXAMPLE: long DataFilterId = a.ObjectResponse["data"]["id"].Value(); //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -2679,12 +2544,6 @@ RELATIVE TOKEN EXAMPLE: ExcludedWidgetId = a.ObjectResponse["data"]["id"].Value(); //CREATE FILTER - dynamic d = new JObject(); - d.name = Util.Uniquify("Test INT DataFilter"); - - d["public"] = true; - d.listKey = "TestWidgetDataList"; - dynamic dfilter = new JArray(); //name starts with filter to constrict to widgets that this test block created only @@ -2702,15 +2561,8 @@ RELATIVE TOKEN EXAMPLE: FilterItem.value = 5; dfilter.Add(FilterItem); - d.filter = dfilter.ToString();//it expects it to be a json string, not actual json - - a = await Util.PostAsync("DataListFilter", await Util.GetTokenAsync("BizAdminFull"), d.ToString()); - Util.ValidateDataReturnResponseOk(a); - - long DataFilterId = a.ObjectResponse["data"]["id"].Value(); - //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -2739,11 +2591,6 @@ RELATIVE TOKEN EXAMPLE: a = await Util.DeleteAsync("Widget/" + ExcludedWidgetId.ToString(), await Util.GetTokenAsync("BizAdminFull")); Util.ValidateHTTPStatusCode(a, 204); - - //DELETE DATAFILTER - a = await Util.DeleteAsync("DataListFilter/" + DataFilterId.ToString(), await Util.GetTokenAsync("BizAdminFull")); - Util.ValidateHTTPStatusCode(a, 204); - } /// @@ -2782,12 +2629,6 @@ RELATIVE TOKEN EXAMPLE: //CREATE FILTER - dynamic d = new JObject(); - d.name = Util.Uniquify("Test INT DataFilter"); - - d["public"] = true; - d.listKey = "TestWidgetDataList"; - dynamic dfilter = new JArray(); //name starts with filter to constrict to widgets that this test block created only @@ -2804,16 +2645,8 @@ RELATIVE TOKEN EXAMPLE: FilterItem.op = Util.OpGreaterThan; FilterItem.value = 54; dfilter.Add(FilterItem); - - d.filter = dfilter.ToString();//it expects it to be a json string, not actual json - - a = await Util.PostAsync("DataListFilter", await Util.GetTokenAsync("BizAdminFull"), d.ToString()); - Util.ValidateDataReturnResponseOk(a); - - long DataFilterId = a.ObjectResponse["data"]["id"].Value(); - //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -2842,11 +2675,6 @@ RELATIVE TOKEN EXAMPLE: a = await Util.DeleteAsync("Widget/" + ExcludedWidgetId.ToString(), await Util.GetTokenAsync("BizAdminFull")); Util.ValidateHTTPStatusCode(a, 204); - - //DELETE DATAFILTER - a = await Util.DeleteAsync("DataListFilter/" + DataFilterId.ToString(), await Util.GetTokenAsync("BizAdminFull")); - Util.ValidateHTTPStatusCode(a, 204); - } /// @@ -2885,12 +2713,6 @@ RELATIVE TOKEN EXAMPLE: //CREATE FILTER - dynamic d = new JObject(); - d.name = Util.Uniquify("IntegerOpGreaterThanOrEqualToFilterWorks"); - - d["public"] = true; - d.listKey = "TestWidgetDataList"; - dynamic dfilter = new JArray(); //name starts with filter to constrict to widgets that this test block created only @@ -2907,16 +2729,8 @@ RELATIVE TOKEN EXAMPLE: FilterItem.op = Util.OpGreaterThanOrEqualTo; FilterItem.value = 555; dfilter.Add(FilterItem); - - d.filter = dfilter.ToString();//it expects it to be a json string, not actual json - - a = await Util.PostAsync("DataListFilter", await Util.GetTokenAsync("BizAdminFull"), d.ToString()); - Util.ValidateDataReturnResponseOk(a); - - long DataFilterId = a.ObjectResponse["data"]["id"].Value(); - //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -2945,11 +2759,6 @@ RELATIVE TOKEN EXAMPLE: a = await Util.DeleteAsync("Widget/" + ExcludedWidgetId.ToString(), await Util.GetTokenAsync("BizAdminFull")); Util.ValidateHTTPStatusCode(a, 204); - - //DELETE DATAFILTER - a = await Util.DeleteAsync("DataListFilter/" + DataFilterId.ToString(), await Util.GetTokenAsync("BizAdminFull")); - Util.ValidateHTTPStatusCode(a, 204); - } @@ -2990,12 +2799,6 @@ RELATIVE TOKEN EXAMPLE: //CREATE FILTER - dynamic d = new JObject(); - d.name = Util.Uniquify("IntegerOpLessThanFilterWorks"); - - d["public"] = true; - d.listKey = "TestWidgetDataList"; - dynamic dfilter = new JArray(); //name starts with filter to constrict to widgets that this test block created only @@ -3012,16 +2815,8 @@ RELATIVE TOKEN EXAMPLE: FilterItem.op = Util.OpLessThan; FilterItem.value = 5555; dfilter.Add(FilterItem); - - d.filter = dfilter.ToString();//it expects it to be a json string, not actual json - - a = await Util.PostAsync("DataListFilter", await Util.GetTokenAsync("BizAdminFull"), d.ToString()); - Util.ValidateDataReturnResponseOk(a); - - long DataFilterId = a.ObjectResponse["data"]["id"].Value(); - //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -3050,11 +2845,6 @@ RELATIVE TOKEN EXAMPLE: a = await Util.DeleteAsync("Widget/" + ExcludedWidgetId.ToString(), await Util.GetTokenAsync("BizAdminFull")); Util.ValidateHTTPStatusCode(a, 204); - - //DELETE DATAFILTER - a = await Util.DeleteAsync("DataListFilter/" + DataFilterId.ToString(), await Util.GetTokenAsync("BizAdminFull")); - Util.ValidateHTTPStatusCode(a, 204); - } @@ -3094,12 +2884,6 @@ RELATIVE TOKEN EXAMPLE: //CREATE FILTER - dynamic d = new JObject(); - d.name = Util.Uniquify("IntegerOpLessThanOrEqualToFilterWorks"); - - d["public"] = true; - d.listKey = "TestWidgetDataList"; - dynamic dfilter = new JArray(); //name starts with filter to constrict to widgets that this test block created only @@ -3116,16 +2900,8 @@ RELATIVE TOKEN EXAMPLE: FilterItem.op = Util.OpLessThanOrEqualTo; FilterItem.value = -444; dfilter.Add(FilterItem); - - d.filter = dfilter.ToString();//it expects it to be a json string, not actual json - - a = await Util.PostAsync("DataListFilter", await Util.GetTokenAsync("BizAdminFull"), d.ToString()); - Util.ValidateDataReturnResponseOk(a); - - long DataFilterId = a.ObjectResponse["data"]["id"].Value(); - //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -3153,12 +2929,6 @@ RELATIVE TOKEN EXAMPLE: a = await Util.DeleteAsync("Widget/" + ExcludedWidgetId.ToString(), await Util.GetTokenAsync("BizAdminFull")); Util.ValidateHTTPStatusCode(a, 204); - - - //DELETE DATAFILTER - a = await Util.DeleteAsync("DataListFilter/" + DataFilterId.ToString(), await Util.GetTokenAsync("BizAdminFull")); - Util.ValidateHTTPStatusCode(a, 204); - } @@ -3199,12 +2969,6 @@ RELATIVE TOKEN EXAMPLE: //CREATE FILTER - dynamic d = new JObject(); - d.name = Util.Uniquify("IntegerNotEqualToFilterWorks"); - - d["public"] = true; - d.listKey = "TestWidgetDataList"; - dynamic dfilter = new JArray(); //name starts with filter to constrict to widgets that this test block created only @@ -3221,16 +2985,8 @@ RELATIVE TOKEN EXAMPLE: FilterItem.op = Util.OpNotEqual; FilterItem.value = 223; dfilter.Add(FilterItem); - - d.filter = dfilter.ToString();//it expects it to be a json string, not actual json - - a = await Util.PostAsync("DataListFilter", await Util.GetTokenAsync("BizAdminFull"), d.ToString()); - Util.ValidateDataReturnResponseOk(a); - - long DataFilterId = a.ObjectResponse["data"]["id"].Value(); - //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -3259,11 +3015,6 @@ RELATIVE TOKEN EXAMPLE: a = await Util.DeleteAsync("Widget/" + ExcludedWidgetId.ToString(), await Util.GetTokenAsync("BizAdminFull")); Util.ValidateHTTPStatusCode(a, 204); - - //DELETE DATAFILTER - a = await Util.DeleteAsync("DataListFilter/" + DataFilterId.ToString(), await Util.GetTokenAsync("BizAdminFull")); - Util.ValidateHTTPStatusCode(a, 204); - } #endregion integer tests @@ -3280,8 +3031,6 @@ RELATIVE TOKEN EXAMPLE: [Fact] public async void BoolOpEqualityFilterWorks() { - - //OPS: equal to, not equal to //values: true, false @@ -3331,12 +3080,6 @@ RELATIVE TOKEN EXAMPLE: //CREATE FILTER - // dynamic d = new JObject(); - // d.name = Util.Uniquify("Test BOOL DataFilter"); - - // d["public"] = true; - // d.listKey = "TestWidgetDataList"; - dynamic dfilter = new JArray(); //name starts with filter to constrict to widgets that this test block created only @@ -3353,16 +3096,9 @@ RELATIVE TOKEN EXAMPLE: DataFilterActive.value = true; dfilter.Add(DataFilterActive); - // d.filter = dfilter.ToString();//it expects it to be a json string, not actual json - // a = await Util.PostAsync("DataListFilter", await Util.GetTokenAsync("BizAdminFull"), d.ToString()); - // Util.ValidateDataReturnResponseOk(a); - - // long DataFilterId = a.ObjectResponse["data"]["id"].Value(); - - //NOW FETCH WIDGET LIST WITH FILTER - //a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); - a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"),Util.BuildDataListRequest(dfilter)); + //NOW FETCH WIDGET LIST WITH FILTER + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -3398,11 +3134,6 @@ RELATIVE TOKEN EXAMPLE: a = await Util.DeleteAsync("Widget/" + l.ToString(), await Util.GetTokenAsync("BizAdminFull")); Util.ValidateHTTPStatusCode(a, 204); } - - // //DELETE DATAFILTER - // a = await Util.DeleteAsync("DataListFilter/" + DataFilterId.ToString(), await Util.GetTokenAsync("BizAdminFull")); - // Util.ValidateHTTPStatusCode(a, 204); - } @@ -3463,12 +3194,6 @@ RELATIVE TOKEN EXAMPLE: //CREATE FILTER - dynamic d = new JObject(); - d.name = Util.Uniquify("Test BOOL DataFilter"); - - d["public"] = true; - d.listKey = "TestWidgetDataList"; - dynamic dfilter = new JArray(); //name starts with filter to constrict to widgets that this test block created only @@ -3485,15 +3210,10 @@ RELATIVE TOKEN EXAMPLE: DataFilterActive.value = true; dfilter.Add(DataFilterActive); - d.filter = dfilter.ToString();//it expects it to be a json string, not actual json - a = await Util.PostAsync("DataListFilter", await Util.GetTokenAsync("BizAdminFull"), d.ToString()); - Util.ValidateDataReturnResponseOk(a); - - long DataFilterId = a.ObjectResponse["data"]["id"].Value(); //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -3503,13 +3223,7 @@ RELATIVE TOKEN EXAMPLE: List IDInResultList = new List(); int nActiveMatches = 0; int nInactiveMatches = 0; - // foreach (JObject o in v) - // { - // if (ActiveWidgetIdList.Contains(o["id"].Value())) - // nActiveMatches++; - // if (NotActiveWidgetIdList.Contains(o["id"].Value())) - // nInactiveMatches++; - // } + foreach (JArray ja in v) { JObject o = ja[0] as JObject; @@ -3536,9 +3250,6 @@ RELATIVE TOKEN EXAMPLE: Util.ValidateHTTPStatusCode(a, 204); } - //DELETE DATAFILTER - a = await Util.DeleteAsync("DataListFilter/" + DataFilterId.ToString(), await Util.GetTokenAsync("BizAdminFull")); - Util.ValidateHTTPStatusCode(a, 204); } @@ -3586,12 +3297,6 @@ RELATIVE TOKEN EXAMPLE: ExcludedWidgetId = a.ObjectResponse["data"]["id"].Value(); //CREATE FILTER - dynamic d = new JObject(); - d.name = Util.Uniquify("DecimalOpEqualityFilterWorks"); - - d["public"] = true; - d.listKey = "TestWidgetDataList"; - dynamic dfilter = new JArray(); //name starts with filter to constrict to widgets that this test block created only @@ -3608,16 +3313,8 @@ RELATIVE TOKEN EXAMPLE: FilterItem.op = Util.OpEquality; FilterItem.value = 5.55; dfilter.Add(FilterItem); - - d.filter = dfilter.ToString();//it expects it to be a json string, not actual json - - a = await Util.PostAsync("DataListFilter", await Util.GetTokenAsync("BizAdminFull"), d.ToString()); - Util.ValidateDataReturnResponseOk(a); - - long DataFilterId = a.ObjectResponse["data"]["id"].Value(); - //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -3646,11 +3343,6 @@ RELATIVE TOKEN EXAMPLE: a = await Util.DeleteAsync("Widget/" + ExcludedWidgetId.ToString(), await Util.GetTokenAsync("BizAdminFull")); Util.ValidateHTTPStatusCode(a, 204); - - //DELETE DATAFILTER - a = await Util.DeleteAsync("DataListFilter/" + DataFilterId.ToString(), await Util.GetTokenAsync("BizAdminFull")); - Util.ValidateHTTPStatusCode(a, 204); - } /// @@ -3689,12 +3381,6 @@ RELATIVE TOKEN EXAMPLE: //CREATE FILTER - dynamic d = new JObject(); - d.name = Util.Uniquify("DecimalOpGreaterThanFilterWorks"); - - d["public"] = true; - d.listKey = "TestWidgetDataList"; - dynamic dfilter = new JArray(); //name starts with filter to constrict to widgets that this test block created only @@ -3712,15 +3398,8 @@ RELATIVE TOKEN EXAMPLE: FilterItem.value = 54.44; dfilter.Add(FilterItem); - d.filter = dfilter.ToString();//it expects it to be a json string, not actual json - - a = await Util.PostAsync("DataListFilter", await Util.GetTokenAsync("BizAdminFull"), d.ToString()); - Util.ValidateDataReturnResponseOk(a); - - long DataFilterId = a.ObjectResponse["data"]["id"].Value(); - //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -3749,11 +3428,6 @@ RELATIVE TOKEN EXAMPLE: a = await Util.DeleteAsync("Widget/" + ExcludedWidgetId.ToString(), await Util.GetTokenAsync("BizAdminFull")); Util.ValidateHTTPStatusCode(a, 204); - - //DELETE DATAFILTER - a = await Util.DeleteAsync("DataListFilter/" + DataFilterId.ToString(), await Util.GetTokenAsync("BizAdminFull")); - Util.ValidateHTTPStatusCode(a, 204); - } /// @@ -3792,12 +3466,6 @@ RELATIVE TOKEN EXAMPLE: //CREATE FILTER - dynamic d = new JObject(); - d.name = Util.Uniquify("DecimalOpGreaterThanOrEqualToFilterWorks"); - - d["public"] = true; - d.listKey = "TestWidgetDataList"; - dynamic dfilter = new JArray(); //name starts with filter to constrict to widgets that this test block created only @@ -3815,15 +3483,8 @@ RELATIVE TOKEN EXAMPLE: FilterItem.value = 555.55; dfilter.Add(FilterItem); - d.filter = dfilter.ToString();//it expects it to be a json string, not actual json - - a = await Util.PostAsync("DataListFilter", await Util.GetTokenAsync("BizAdminFull"), d.ToString()); - Util.ValidateDataReturnResponseOk(a); - - long DataFilterId = a.ObjectResponse["data"]["id"].Value(); - //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -3852,11 +3513,6 @@ RELATIVE TOKEN EXAMPLE: a = await Util.DeleteAsync("Widget/" + ExcludedWidgetId.ToString(), await Util.GetTokenAsync("BizAdminFull")); Util.ValidateHTTPStatusCode(a, 204); - - //DELETE DATAFILTER - a = await Util.DeleteAsync("DataListFilter/" + DataFilterId.ToString(), await Util.GetTokenAsync("BizAdminFull")); - Util.ValidateHTTPStatusCode(a, 204); - } @@ -3897,12 +3553,6 @@ RELATIVE TOKEN EXAMPLE: //CREATE FILTER - dynamic d = new JObject(); - d.name = Util.Uniquify("DecimalOpLessThanFilterWorks"); - - d["public"] = true; - d.listKey = "TestWidgetDataList"; - dynamic dfilter = new JArray(); //name starts with filter to constrict to widgets that this test block created only @@ -3920,15 +3570,8 @@ RELATIVE TOKEN EXAMPLE: FilterItem.value = 5555.55; dfilter.Add(FilterItem); - d.filter = dfilter.ToString();//it expects it to be a json string, not actual json - - a = await Util.PostAsync("DataListFilter", await Util.GetTokenAsync("BizAdminFull"), d.ToString()); - Util.ValidateDataReturnResponseOk(a); - - long DataFilterId = a.ObjectResponse["data"]["id"].Value(); - //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -3957,11 +3600,6 @@ RELATIVE TOKEN EXAMPLE: a = await Util.DeleteAsync("Widget/" + ExcludedWidgetId.ToString(), await Util.GetTokenAsync("BizAdminFull")); Util.ValidateHTTPStatusCode(a, 204); - - //DELETE DATAFILTER - a = await Util.DeleteAsync("DataListFilter/" + DataFilterId.ToString(), await Util.GetTokenAsync("BizAdminFull")); - Util.ValidateHTTPStatusCode(a, 204); - } @@ -4001,12 +3639,6 @@ RELATIVE TOKEN EXAMPLE: //CREATE FILTER - dynamic d = new JObject(); - d.name = Util.Uniquify("DecimalOpLessThanOrEqualToFilterWorks"); - - d["public"] = true; - d.listKey = "TestWidgetDataList"; - dynamic dfilter = new JArray(); //name starts with filter to constrict to widgets that this test block created only @@ -4024,15 +3656,8 @@ RELATIVE TOKEN EXAMPLE: FilterItem.value = -444.44; dfilter.Add(FilterItem); - d.filter = dfilter.ToString();//it expects it to be a json string, not actual json - - a = await Util.PostAsync("DataListFilter", await Util.GetTokenAsync("BizAdminFull"), d.ToString()); - Util.ValidateDataReturnResponseOk(a); - - long DataFilterId = a.ObjectResponse["data"]["id"].Value(); - //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -4061,11 +3686,6 @@ RELATIVE TOKEN EXAMPLE: a = await Util.DeleteAsync("Widget/" + ExcludedWidgetId.ToString(), await Util.GetTokenAsync("BizAdminFull")); Util.ValidateHTTPStatusCode(a, 204); - - //DELETE DATAFILTER - a = await Util.DeleteAsync("DataListFilter/" + DataFilterId.ToString(), await Util.GetTokenAsync("BizAdminFull")); - Util.ValidateHTTPStatusCode(a, 204); - } @@ -4106,12 +3726,6 @@ RELATIVE TOKEN EXAMPLE: //CREATE FILTER - dynamic d = new JObject(); - d.name = Util.Uniquify("DecimalNotEqualToFilterWorks"); - - d["public"] = true; - d.listKey = "TestWidgetDataList"; - dynamic dfilter = new JArray(); //name starts with filter to constrict to widgets that this test block created only @@ -4129,15 +3743,8 @@ RELATIVE TOKEN EXAMPLE: FilterItem.value = 223.23; dfilter.Add(FilterItem); - d.filter = dfilter.ToString();//it expects it to be a json string, not actual json - - a = await Util.PostAsync("DataListFilter", await Util.GetTokenAsync("BizAdminFull"), d.ToString()); - Util.ValidateDataReturnResponseOk(a); - - long DataFilterId = a.ObjectResponse["data"]["id"].Value(); - //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -4166,11 +3773,6 @@ RELATIVE TOKEN EXAMPLE: a = await Util.DeleteAsync("Widget/" + ExcludedWidgetId.ToString(), await Util.GetTokenAsync("BizAdminFull")); Util.ValidateHTTPStatusCode(a, 204); - - //DELETE DATAFILTER - a = await Util.DeleteAsync("DataListFilter/" + DataFilterId.ToString(), await Util.GetTokenAsync("BizAdminFull")); - Util.ValidateHTTPStatusCode(a, 204); - } #endregion decimal tests @@ -4252,12 +3854,6 @@ RELATIVE TOKEN EXAMPLE: //CREATE FILTER - dynamic d = new JObject(); - d.name = Util.Uniquify(WidgetRunNameStart); - - d["public"] = true; - d.listKey = "TestWidgetDataList"; - dynamic dfilter = new JArray(); //name starts with filter to constrict to widgets that this test block created only @@ -4277,16 +3873,8 @@ RELATIVE TOKEN EXAMPLE: FilterTagsArray.Add("blue-tag-test"); DataFilterActive.value = FilterTagsArray; dfilter.Add(DataFilterActive); - - d.filter = dfilter.ToString();//it expects it to be a json string, not actual json - - a = await Util.PostAsync("DataListFilter", await Util.GetTokenAsync("BizAdminFull"), d.ToString()); - Util.ValidateDataReturnResponseOk(a); - - long DataFilterId = a.ObjectResponse["data"]["id"].Value(); - //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200); @@ -4298,14 +3886,6 @@ RELATIVE TOKEN EXAMPLE: int ExclusiveMatchCount = 0; - // foreach (JObject o in v) - // { - // if (InclusiveWidgetIdList.Contains(o["id"].Value())) - // InclusiveMatchCount++; - // if (ExclusiveWidgetIdList.Contains(o["id"].Value())) - // ExclusiveMatchCount++; - // } - foreach (JArray ja in v) { JObject o = ja[0] as JObject; @@ -4333,10 +3913,6 @@ RELATIVE TOKEN EXAMPLE: a = await Util.DeleteAsync("Widget/" + l.ToString(), await Util.GetTokenAsync("BizAdminFull")); Util.ValidateHTTPStatusCode(a, 204); } - - //DELETE DATAFILTER - a = await Util.DeleteAsync("DataListFilter/" + DataFilterId.ToString(), await Util.GetTokenAsync("BizAdminFull")); - Util.ValidateHTTPStatusCode(a, 204); } @@ -4442,7 +4018,7 @@ RELATIVE TOKEN EXAMPLE: long DataFilterId = a.ObjectResponse["data"]["id"].Value(); //NOW FETCH WIDGET LIST WITH FILTER - a = await Util.GetAsync($"DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); + a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequest(dfilter)); Util.ValidateDataReturnResponseOk(a); Util.ValidateHTTPStatusCode(a, 200);