diff --git a/Search/SearchOps.cs b/Search/SearchOps.cs index 40f7365..05a7095 100644 --- a/Search/SearchOps.cs +++ b/Search/SearchOps.cs @@ -95,7 +95,7 @@ namespace raven_integration dynamic SearchParameters = new JObject(); SearchParameters.phrase = TEST_SEARCH_PHRASE; - SearchParameters.nameOnly = false; + SearchParameters.typeOnly = 0;//no type SearchParameters.maxResults = 0; a = await Util.PostAsync("Search", await Util.GetTokenAsync("manager", "l3tm3in"), SearchParameters.ToString()); @@ -186,7 +186,7 @@ namespace raven_integration dynamic SearchParameters = new JObject(); SearchParameters.phrase = TEST_SEARCH_PHRASE; - SearchParameters.nameOnly = false; + SearchParameters.typeOnly = 0;//no type SearchParameters.maxResults = 0; a = await Util.PostAsync("Search", await Util.GetTokenAsync("manager", "l3tm3in"), SearchParameters.ToString()); @@ -250,7 +250,7 @@ namespace raven_integration dynamic SearchParameters = new JObject(); SearchParameters.phrase = TEST_SEARCH_PHRASE; - SearchParameters.nameOnly = false; + SearchParameters.typeOnly = 0;//no type SearchParameters.maxResults = 0; a = await Util.PostAsync("Search", await Util.GetTokenAsync("manager", "l3tm3in"), SearchParameters.ToString()); @@ -316,7 +316,7 @@ namespace raven_integration dynamic SearchParameters = new JObject(); SearchParameters.phrase = TEST_SEARCH_PHRASE; - SearchParameters.nameOnly = false; + SearchParameters.typeOnly = 0;//no type SearchParameters.maxResults = 0; a = await Util.PostAsync("Search", await Util.GetTokenAsync("manager", "l3tm3in"), SearchParameters.ToString()); @@ -423,7 +423,7 @@ namespace raven_integration dynamic SearchParameters = new JObject(); SearchParameters.phrase = TEST_SEARCH_PHRASE + " " + SearchTagPhrase; - SearchParameters.nameOnly = false; + SearchParameters.typeOnly = 0;//no type a = await Util.PostAsync("Search", await Util.GetTokenAsync("manager", "l3tm3in"), SearchParameters.ToString()); @@ -460,7 +460,7 @@ namespace raven_integration dynamic SearchParameters = new JObject(); SearchParameters.phrase = TEST_SEARCH_PHRASE; - SearchParameters.nameOnly = false; + SearchParameters.typeOnly = 0;//no type SearchParameters.maxResults = 1000;//default is 500 @@ -502,7 +502,7 @@ namespace raven_integration dynamic SearchParameters = new JObject(); SearchParameters.phrase = TEST_SEARCH_PHRASE; - SearchParameters.nameOnly = false; + SearchParameters.typeOnly = 0;//no type SearchParameters.maxResults = 0;//0=return all results @@ -551,7 +551,7 @@ namespace raven_integration //Now see if can find those objects with a phrase search dynamic SearchParameters = new JObject(); SearchParameters.phrase = SerialSearch; - SearchParameters.nameOnly = false; + SearchParameters.typeOnly = 0;//no type SearchParameters.maxResults = 0; a = await Util.PostAsync("Search", await Util.GetTokenAsync("manager", "l3tm3in"), SearchParameters.ToString()); @@ -628,7 +628,7 @@ Likely fix is to force order to most recent or simply to delete after test so th dynamic SearchParameters = new JObject(); SearchParameters.phrase = "beak pelican"; - SearchParameters.nameOnly = false; + SearchParameters.typeOnly = 0;//no type a = await Util.PostAsync("Search", await Util.GetTokenAsync("manager", "l3tm3in"), SearchParameters.ToString()); @@ -655,6 +655,49 @@ Likely fix is to force order to most recent or simply to delete after test so th }//eot + + + + + [Fact] + public async void DeletedObjectShouldRemoveKeywords() + { + string TEST_SEARCH_PHRASE = Util.Uniquify("qqwweerrttyy"); + + //CREATE A WIDGET + dynamic d = new JObject(); + d.name = Util.Uniquify("Wildcard endswith search test WIDGET"); + d.customFields = Util.WidgetRequiredCustomFieldsJsonString(); + d.dollarAmount = 1.11m; + d.active = true; + d.usertype = 1; + d.notes = $"This record will match in notes: {TEST_SEARCH_PHRASE} there"; + + ApiResponse a = await Util.PostAsync("Widget", await Util.GetTokenAsync("manager", "l3tm3in"), d.ToString()); + Util.ValidateDataReturnResponseOk(a); + long WidgetId = (long)a.ObjectResponse["data"]["id"]; + + //Now see if can find with a phrase search + dynamic SearchParameters = new JObject(); + SearchParameters.phrase = TEST_SEARCH_PHRASE; + SearchParameters.typeOnly = 0;//no type + SearchParameters.maxResults = 0; + a = await Util.PostAsync("Search", await Util.GetTokenAsync("manager", "l3tm3in"), SearchParameters.ToString()); + Util.ValidateDataReturnResponseOk(a); + //Now validate the return list (should be only one as it's super unique) + ((JArray)a.ObjectResponse["data"]["searchResults"]).Count.Should().Be(1); + + //Now delete the widget and re-run the search + a = await Util.DeleteAsync("Widget/" + WidgetId.ToString(), await Util.GetTokenAsync("manager", "l3tm3in")); + Util.ValidateHTTPStatusCode(a, 204); + + a = await Util.PostAsync("Search", await Util.GetTokenAsync("manager", "l3tm3in"), SearchParameters.ToString()); + Util.ValidateDataReturnResponseOk(a); + //Now validate the return list (should be only one as it's super unique) + ((JArray)a.ObjectResponse["data"]["searchResults"]).Count.Should().Be(0); + + + }//eot //================================================== }//eoc