diff --git a/Global/GlobalAll.cs b/Global/GlobalAll.cs
index 458b2f1..b1d20b6 100644
--- a/Global/GlobalAll.cs
+++ b/Global/GlobalAll.cs
@@ -1,217 +1,28 @@
-using System;
using Xunit;
-using Newtonsoft.Json.Linq;
using FluentAssertions;
-using System.Collections.Generic;
-using System.Collections.Concurrent;
namespace raven_integration
{
public class GlobalAll
{
-
-
///
/// Test Global routes
///
[Fact]
public async void GlobalOps()
{
-
-TODO: this...
-
- //NOTE: Due to there being only one possible template per type, this test will need to test ALL potential tests in one function
- //and only for the User picklist in order to not step over other potential tests running in parallel
-
- //REPLACE USER TEMPLATE
- dynamic d = new JObject();
- d.Id = 3;//User type
-
- //custom template, only one field employee number
- dynamic dTemplateArray = new JArray();
- dynamic df = new JObject();
- df.fld = "useremployeenumber";
- dTemplateArray.Add(df);
- d.Template = dTemplateArray.ToString(Newtonsoft.Json.Formatting.None);
-
- //replace the User template at the server
- ApiResponse a = await Util.PostAsync("PickList/Template", await Util.GetTokenAsync("BizAdminFull"), d.ToString(Newtonsoft.Json.Formatting.None));
- Util.ValidateHTTPStatusCode(a, 204);
-
-
- //RETRIEVE
- //Get one
- a = await Util.GetAsync("PickList/Template/3/", await Util.GetTokenAsync("BizAdminFull"));
+ //excercise the fetch and update routes but no actual changes because making a change of any kind to global will likely break other tests
+ //and we just need to see the routes are active really
+
+ ApiResponse a = await Util.GetAsync("GlobalBizSettings", await Util.GetTokenAsync("BizAdminFull"));
Util.ValidateDataReturnResponseOk(a);
- //assert contains ONE record ONLY and it's the one we set
- var templateArray = JArray.Parse(a.ObjectResponse["data"]["template"].Value());
- templateArray.Count.Should().Be(1);
- templateArray[0]["fld"].Value().Should().Be("useremployeenumber");
-
-
- //CONFIRM THE CUSTOM PICKLIST TEMPLATE WORKS PROPERLY
- //MAKE THE TEST USERS
- //First make a unique string for this iteration of this test only
- var UniquePhrase = Util.Uniquify("pick").Replace(" ", "");
- d = new JObject();
- d.name = Util.Uniquify("UserPickListTemplatesOps") + UniquePhrase;
- d.active = true;
- d.login = Util.Uniquify("LOGIN");
- d.password = Util.Uniquify("PASSWORD");
- d.roles = 0;//norole
-
- d.userType = 3;//non scheduleable
- //Required by form custom rules
- d.notes = "notes";
- d.customFields = Util.UserRequiredCustomFieldsJsonString();
-
- a = await Util.PostAsync("User", await Util.GetTokenAsync("manager", "l3tm3in"), d.ToString());
- Util.ValidateDataReturnResponseOk(a);
- long InNameId = a.ObjectResponse["data"]["id"].Value();
-
- d = new JObject();
- d.name = Util.Uniquify("UserPickListTemplatesOps");
- d.employeeNumber = UniquePhrase;
- d.login = Util.Uniquify("LOGIN");
- d.password = Util.Uniquify("PASSWORD");
- d.roles = 0;//norole
- d.userType = 3;//non scheduleable
- d.active = true;
- //Required by form custom rules
- d.notes = "notes";
- d.customFields = Util.UserRequiredCustomFieldsJsonString();
-
- a = await Util.PostAsync("User", await Util.GetTokenAsync("manager", "l3tm3in"), d.ToString());
- Util.ValidateDataReturnResponseOk(a);
- long InEmployeeNumberId = a.ObjectResponse["data"]["id"].Value();
-
-
- //GET PICKLIST FOR unique phrase query sb only employee number due to custom template
- a = await Util.GetAsync("PickList/List?ayaType=3&query=" + UniquePhrase, await Util.GetTokenAsync("BizAdminFull"));
- Util.ValidateDataReturnResponseOk(a);
- var pickList = ((JArray)a.ObjectResponse["data"]);
- pickList.Count.Should().Be(1);
- pickList[0]["id"].Value().Should().Be(InEmployeeNumberId);
-
- //custom template, only one field user name
- d = new JObject();
- d.Id = 3;//User type
- dTemplateArray = new JArray();
- df = new JObject();
- df.fld = "username";
- dTemplateArray.Add(df);
- d.Template = dTemplateArray.ToString(Newtonsoft.Json.Formatting.None);
-
- //replace the User template at the server
- a = await Util.PostAsync("PickList/Template", await Util.GetTokenAsync("BizAdminFull"), d.ToString(Newtonsoft.Json.Formatting.None));
- Util.ValidateHTTPStatusCode(a, 204);
-
- //GET PICKLIST FOR unique phrase query sb only user name field due to custom template
- a = await Util.GetAsync("PickList/List?ayaType=3&query=" + UniquePhrase, await Util.GetTokenAsync("BizAdminFull"));
- //"select auser.id as plId, auser.active as plActive, concat_ws(' ', auser.name) as plname from auser where auser.active = true and ((auser.name like '%pick1584556347748%')) order by auser.name limit 100"
- Util.ValidateDataReturnResponseOk(a);
- pickList = ((JArray)a.ObjectResponse["data"]);
- pickList.Count.Should().Be(1);
- pickList[0]["id"].Value().Should().Be(InNameId);
-
- //DELETE TEST USERS NO LONGER NEEDED
- a = await Util.DeleteAsync("User/" + InNameId.ToString(), await Util.GetTokenAsync("manager", "l3tm3in"));
- Util.ValidateHTTPStatusCode(a, 204);
-
- a = await Util.DeleteAsync("User/" + InEmployeeNumberId.ToString(), await Util.GetTokenAsync("manager", "l3tm3in"));
- Util.ValidateHTTPStatusCode(a, 204);
-
-
- // RESET TEMPLATE TO DEFAULT
- a = await Util.DeleteAsync("PickList/Template/3/", await Util.GetTokenAsync("BizAdminFull"));
- Util.ValidateHTTPStatusCode(a, 204);
-
- //RETRIEVE (Confirm it's back to default)
- //Get one
- a = await Util.GetAsync("PickList/Template/3/", await Util.GetTokenAsync("BizAdminFull"));
- Util.ValidateDataReturnResponseOk(a);
- //assert contains default template record ONLY and it's the one we set
- templateArray = JArray.Parse(a.ObjectResponse["data"]["template"].Value());
- templateArray.Count.Should().Be(3);
- templateArray[0]["fld"].Value().Should().Be("username");
-
-
- //Now test error conditions....
- //BAD FIELD NAME VALIDATION ERROR
- d = new JObject();
- d.Id = 3;//User type
- //template, simple test, nothing fancy
- dTemplateArray = new JArray();
- df = new JObject();
- df.fld = "DOES_NOT_EXIST";//<-- ERROR BAD FIELD NAME
- dTemplateArray.Add(df);
- d.Template = dTemplateArray.ToString(Newtonsoft.Json.Formatting.None);
- a = await Util.PostAsync("PickList/Template", await Util.GetTokenAsync("BizAdminFull"), d.ToString(Newtonsoft.Json.Formatting.None));
- //"{\"error\":{\"code\":\"2200\",\"details\":[{\"message\":\"Template array item 0, fld property value \\\"DOES_NOT_EXIST\\\" is not a valid value for AyaType specified\",\"target\":\"Template\",\"error\":\"2203\"}],\"message\":\"Object did not pass validation\"}}"
- Util.ValidateErrorCodeResponse(a, 2200, 400);
- Util.ShouldContainValidationError(a, "Template", "2203");
-
- //BAD AYATYPE ERROR
- d = new JObject();
- d.Id = 0;//<==ERROR NO_TYPE, INVALID
- //template, simple test, nothing fancy
- dTemplateArray = new JArray();
- df = new JObject();
- df.fld = "useremployeenumber";
- dTemplateArray.Add(df);
- d.Template = dTemplateArray.ToString(Newtonsoft.Json.Formatting.None);
- //replace the User template at the server
- a = await Util.PostAsync("PickList/Template", await Util.GetTokenAsync("BizAdminFull"), d.ToString(Newtonsoft.Json.Formatting.None));
- //"{\"error\":{\"code\":\"2200\",\"details\":[{\"message\":\"Template array item 0, fld property value \\\"DOES_NOT_EXIST\\\" is not a valid value for AyaType specified\",\"target\":\"Template\",\"error\":\"2203\"}],\"message\":\"Object did not pass validation\"}}"
- Util.ValidateErrorCodeResponse(a, 2200, 400);
- Util.ShouldContainValidationError(a, "ayaType", "2203");
-
- //RIGHTS ISSUE,
- //currently only bizadminfull can change a picklist template
- d = new JObject();
- d.Id = 3;//User
- //template, simple test, nothing fancy
- dTemplateArray = new JArray();
- df = new JObject();
- df.fld = "useremployeenumber";
- dTemplateArray.Add(df);
- d.Template = dTemplateArray.ToString(Newtonsoft.Json.Formatting.None);
- //ERROR NO RIGHTS USER
- a = await Util.PostAsync("PickList/Template", await Util.GetTokenAsync("CustomerLimited"), d.ToString(Newtonsoft.Json.Formatting.None));
- //"{\"error\":{\"code\":\"2004\",\"message\":\"User not authorized for this resource operation (insufficient rights)\"}}"
- Util.ValidateErrorCodeResponse(a, 2004, 403);
-
- //EMPTY TEMPLATE VALIDATION ERROR
- d = new JObject();
- d.Id = 3;//User
- d.Template = "";//<-- ERROR no template
- a = await Util.PostAsync("PickList/Template", await Util.GetTokenAsync("BizAdminFull"), d.ToString(Newtonsoft.Json.Formatting.None));
- Util.ValidateErrorCodeResponse(a, 2200, 400);
- Util.ShouldContainValidationError(a, "Template", "2201");
-
-
- //MALFORMED TEMPLATE JSON ERROR
- d = new JObject();
- d.Id = 3;//User type
- dTemplateArray = new JArray();
- df = new JObject();
- df.fld = "useremployeenumber";
- dTemplateArray.Add(df);
- string sTemplate = dTemplateArray.ToString(Newtonsoft.Json.Formatting.None);
- d.Template = sTemplate.Substring(2);//<-- ERROR missing first two characters of json template array
- a = await Util.PostAsync("PickList/Template", await Util.GetTokenAsync("BizAdminFull"), d.ToString(Newtonsoft.Json.Formatting.None));
- //"{\"error\":{\"code\":\"2200\",\"details\":[{\"message\":\"Template is not valid JSON string: Error reading JArray from JsonReader. Current JsonReader item is not an array: String. Path '', line 1, position 5.\",\"target\":\"Template\",\"error\":\"2203\"}],\"message\":\"Object did not pass validation\"}}"
- Util.ValidateErrorCodeResponse(a, 2200, 400);
- Util.ShouldContainValidationError(a, "Template", "2203");
+ a.ObjectResponse["data"]["searchCaseSensitiveOnly"].Should().NotBeNull();
+ var g = a.ObjectResponse["data"];
+ a = await Util.PostAsync("GlobalBizSettings", await Util.GetTokenAsync("BizAdminFull"), g.ToString(Newtonsoft.Json.Formatting.None));
+ Util.ValidateHTTPStatusCode(a, 204);
}
-
-
-
-
-
-
//==================================================
}//eoc