diff --git a/DataList/DataListFiltering.cs b/DataList/DataListFiltering.cs index 8a80d8e..c22a747 100644 --- a/DataList/DataListFiltering.cs +++ b/DataList/DataListFiltering.cs @@ -2795,7 +2795,7 @@ same as the server does but in a central location here for all tests to use. //assert contains at least two records ((JArray)a.ObjectResponse["data"]).Count.Should().BeGreaterThan(1); var v = ((JArray)a.ObjectResponse["data"]); - List IDInResultList = new List(); + // List IDInResultList = new List(); int nActiveMatches = 0; int nInactiveMatches = 0; diff --git a/PickList/PickListAllTests.cs b/PickList/PickListAllTests.cs index 4a25805..7b83651 100644 --- a/PickList/PickListAllTests.cs +++ b/PickList/PickListAllTests.cs @@ -208,18 +208,18 @@ namespace raven_integration //RETRIEVE WIDGET PICKLIST with name filter a = await Util.GetAsync("PickList/List?ayaType=2&query=IqU", await Util.GetTokenAsync("BizAdminFull")); Util.ValidateDataReturnResponseOk(a); - //assert contains 100 records (current picklist maximum count) + var pickList = ((JArray)a.ObjectResponse["data"]); pickList.Count.Should().Be(1); pickList[0]["id"].Value().Should().Be(IncludedWidgetId); - //DELETE WIDGETS + //DELETE WIDGETS a = await Util.DeleteAsync("Widget/" + IncludedWidgetId.ToString(), await Util.GetTokenAsync("BizAdminFull")); Util.ValidateHTTPStatusCode(a, 204); } - /// + /// /// /// [Fact] @@ -238,10 +238,10 @@ namespace raven_integration w.active = true; w.usertype = 1; w.dollarAmount = 555.55; - //Tags + //Tags dynamic InclusiveTagsArray = new JArray(); InclusiveTagsArray.Add("plred"); - InclusiveTagsArray.Add("plblue"); + InclusiveTagsArray.Add("plblue"); w.tags = InclusiveTagsArray; ApiResponse a = await Util.PostAsync("Widget", await Util.GetTokenAsync("manager", "l3tm3in"), w.ToString()); @@ -252,20 +252,124 @@ namespace raven_integration //RETRIEVE WIDGET PICKLIST with name filter a = await Util.GetAsync("PickList/List?ayaType=2&query=..lblu", await Util.GetTokenAsync("BizAdminFull")); Util.ValidateDataReturnResponseOk(a); - //assert contains 100 records (current picklist maximum count) + var pickList = ((JArray)a.ObjectResponse["data"]); pickList.Count.Should().Be(1); pickList[0]["id"].Value().Should().Be(IncludedWidgetId); - //DELETE WIDGETS + //DELETE WIDGETS a = await Util.DeleteAsync("Widget/" + IncludedWidgetId.ToString(), await Util.GetTokenAsync("BizAdminFull")); Util.ValidateHTTPStatusCode(a, 204); } - + /// + /// test get picklist for widget with basic autocomplete query only + /// + [Fact] + public async void FetchWidgetPickListInactiveActive() + { + + //make key widget + + var WidgetNameStart = "FetchWidgetPickListInactiveActive"; + List ActiveWidgetIdList = new List(); + List NotActiveWidgetIdList = new List(); + + //CREATE 4 TEST WIDGETS + //two active and two non active + + //first active widget + dynamic w = new JObject(); + w.name = Util.Uniquify(WidgetNameStart); + w.customFields = Util.WidgetRequiredCustomFieldsJsonString(); + w.notes = "blah"; + w.active = true; + w.usertype = 1; + + ApiResponse a = await Util.PostAsync("Widget", await Util.GetTokenAsync("manager", "l3tm3in"), w.ToString()); + Util.ValidateDataReturnResponseOk(a); + ActiveWidgetIdList.Add(a.ObjectResponse["data"]["id"].Value()); + + //second active widget + w.name = Util.Uniquify(WidgetNameStart); + + a = await Util.PostAsync("Widget", await Util.GetTokenAsync("manager", "l3tm3in"), w.ToString()); + Util.ValidateDataReturnResponseOk(a); + ActiveWidgetIdList.Add(a.ObjectResponse["data"]["id"].Value()); + + + //first NON active widget + w.name = Util.Uniquify(WidgetNameStart); + w.active = false; + + a = await Util.PostAsync("Widget", await Util.GetTokenAsync("manager", "l3tm3in"), w.ToString()); + Util.ValidateDataReturnResponseOk(a); + NotActiveWidgetIdList.Add(a.ObjectResponse["data"]["id"].Value()); + + //second NON active widget + w.name = Util.Uniquify(WidgetNameStart); + w.active = false; + + a = await Util.PostAsync("Widget", await Util.GetTokenAsync("manager", "l3tm3in"), w.ToString()); + Util.ValidateDataReturnResponseOk(a); + NotActiveWidgetIdList.Add(a.ObjectResponse["data"]["id"].Value()); + + + //CONFIRM BOTH INACTIVE AND ACTIVE + a = await Util.GetAsync("PickList/List?ayaType=2&query=ickListInactiveAct&inactive=true", await Util.GetTokenAsync("BizAdminFull")); + Util.ValidateDataReturnResponseOk(a); + var pickList = ((JArray)a.ObjectResponse["data"]); + //assert contains at least two records + pickList.Count.Should().BeGreaterThan(1); + int nActiveMatches = 0; + int nInactiveMatches = 0; + foreach (JObject o in pickList) + { + if (ActiveWidgetIdList.Contains(o["id"].Value())) + nActiveMatches++; + if (NotActiveWidgetIdList.Contains(o["id"].Value())) + nInactiveMatches++; + } + nActiveMatches.Should().Be(ActiveWidgetIdList.Count); + nInactiveMatches.Should().Be(NotActiveWidgetIdList.Count); + + + //CONFIRM ACTIVE ONLY + a = await Util.GetAsync("PickList/List?ayaType=2&query=ickListInactiveAct", await Util.GetTokenAsync("BizAdminFull")); + Util.ValidateDataReturnResponseOk(a); + pickList = ((JArray)a.ObjectResponse["data"]); + //assert contains at least two records + pickList.Count.Should().BeGreaterThan(1); + nActiveMatches = 0; + nInactiveMatches = 0; + foreach (JObject o in pickList) + { + if (ActiveWidgetIdList.Contains(o["id"].Value())) + nActiveMatches++; + if (NotActiveWidgetIdList.Contains(o["id"].Value())) + nInactiveMatches++; + } + nActiveMatches.Should().Be(ActiveWidgetIdList.Count); + nInactiveMatches.Should().Be(0); + + + + //DELETE WIDGETS + foreach (long l in ActiveWidgetIdList) + { + a = await Util.DeleteAsync("Widget/" + l.ToString(), await Util.GetTokenAsync("BizAdminFull")); + Util.ValidateHTTPStatusCode(a, 204); + } + + foreach (long l in NotActiveWidgetIdList) + { + a = await Util.DeleteAsync("Widget/" + l.ToString(), await Util.GetTokenAsync("BizAdminFull")); + Util.ValidateHTTPStatusCode(a, 204); + } + } + - //same as above but tag filter version test returns correct record //inactive test (make two keyed and search for ) //error condition tests