diff --git a/User/UserCrud.cs b/User/UserCrud.cs index 783c7e0..996d440 100644 --- a/User/UserCrud.cs +++ b/User/UserCrud.cs @@ -299,130 +299,50 @@ namespace raven_integration } + /// + /// + /// + [Fact] + public async void NonUniqueLoginShouldFail() + { + var UniqueLogin = Util.Uniquify("NonUniqueLoginShouldFail"); + //CREATE FIRST USER + dynamic d = new JObject(); + d.name = Util.Uniquify("NonUniqueLoginShouldFail"); + d.notes = "notes"; + d.customFields = Util.UserRequiredCustomFieldsJsonString(); + d.active = false; + d.login = UniqueLogin; + d.password = Util.Uniquify("PASSWORD"); + d.roles = 0;//norole + d.userType = 3;//non scheduleable + + ApiResponse a = await Util.PostAsync("User", await Util.GetTokenAsync("manager", "l3tm3in"), d.ToString()); + Util.ValidateDataReturnResponseOk(a); -//This is testing datalist, not user crud, removing - // /// - // /// - // /// - // [Fact] - // public async void UserListFilterAndSortWorks() - // { + //Attempt create second with same login + d = new JObject(); + d.name = Util.Uniquify("2NonUniqueLoginShouldFail"); + d.notes = "notes"; + d.customFields = Util.UserRequiredCustomFieldsJsonString(); + d.active = false; + d.login = UniqueLogin; + d.password = Util.Uniquify("PASSWORD"); + d.roles = 0;//norole + d.userType = 3;//non scheduleable - // var ObjectNameStart = Util.Uniquify("UserListFilterAndSortWorks"); + a = await Util.PostAsync("User", await Util.GetTokenAsync("manager", "l3tm3in"), d.ToString()); - // //CREATE 3 TEST OBJECTS TO TEST ORDER - // long FirstInOrdertId = 0; - // long SecondInOrderId = 0; - // long ThirdInOrderId = 0; + Util.ValidateErrorCodeResponse(a, 2200, 400); + Util.ShouldContainValidationError(a, "Login", "2206"); + /* + "{\"error\":{\"code\":\"2200\",\"details\":[{\"target\":\"Login\",\"error\":\"2206\"}],\"message\":\"Object did not pass validation\"}}" + */ - // dynamic d = new JObject(); - // d.name = Util.Uniquify(ObjectNameStart); - // d.active = false; - // 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(); - - // ApiResponse a = await Util.PostAsync("User", await Util.GetTokenAsync("manager", "l3tm3in"), d.ToString()); - // Util.ValidateDataReturnResponseOk(a); - // FirstInOrdertId = a.ObjectResponse["data"]["id"].Value(); - - // d = new JObject(); - // d.name = Util.Uniquify(ObjectNameStart); - // 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); - // ThirdInOrderId = a.ObjectResponse["data"]["id"].Value(); - - // d = new JObject(); - // d.name = Util.Uniquify(ObjectNameStart); - // d.login = Util.Uniquify("LOGIN"); - // d.password = Util.Uniquify("PASSWORD"); - // d.roles = 0;//norole - - // d.userType = 3;//non scheduleable - // d.active = false; - // //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); - // SecondInOrderId = a.ObjectResponse["data"]["id"].Value(); - - - // //CREATE FILTER - - // //FILTER IN BY NAME FOR TESTING THIS RUN ONLY - // // dynamic dfilter = new JArray(); - // // //name starts with filter to constrict to widgets that this test block created only - // // dynamic DataFilterNameStart = new JObject(); - // // DataFilterNameStart.fld = "username"; - // // DataFilterNameStart.op = Util.OpStartsWith; - // // DataFilterNameStart.value = ObjectNameStart; - // // dfilter.Add(DataFilterNameStart); - - // // dynamic dsortarray = new JArray(); - - // //SORT ORDER ################### - // //sort by active then by ID - - // // dynamic dsort = new JObject(); - // // dsort.fld = "useractive"; - // // dsort.dir = "+"; - // // dsortarray.Add(dsort); - - // // dsort = new JObject(); - // // dsort.fld = "df"; - // // dsort.dir = "+"; - // // dsortarray.Add(dsort); - - // dynamic dListView = new JArray(); - // //name starts with filter to constrict to widgets that this test block created only - // dListView.Add(Util.BuildSimpleFilterDataListViewColumn("username", Util.OpStartsWith, ObjectNameStart)); - // dListView.Add(Util.BuildSimpleSortDataListViewColumn("useractive", "+")); - // //DEPRECATED NO DF ANYMORE dListView.Add(Util.BuildSimpleSortDataListViewColumn("df", "+")); - - // //NOW FETCH WIDGET LIST WITH FILTER UserDataList - // // a = await Util.GetAsync($"DataList/list?DataListKey=UserDataList&Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in")); - // a = await Util.PostAsync($"DataList", await Util.GetTokenAsync("manager", "l3tm3in"), Util.BuildDataListRequestEx(dListView, 999, 0, "TestUserDataList")); - // 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().Should().Be(FirstInOrdertId); - // a.ObjectResponse["data"][1][0]["i"].Value().Should().Be(SecondInOrderId); - // a.ObjectResponse["data"][2][0]["i"].Value().Should().Be(ThirdInOrderId); - - - // a = await Util.DeleteAsync("User/" + FirstInOrdertId.ToString(), await Util.GetTokenAsync("manager", "l3tm3in")); - // Util.ValidateHTTPStatusCode(a, 204); - - // a = await Util.DeleteAsync("User/" + SecondInOrderId.ToString(), await Util.GetTokenAsync("manager", "l3tm3in")); - // Util.ValidateHTTPStatusCode(a, 204); - - // a = await Util.DeleteAsync("User/" + ThirdInOrderId.ToString(), await Util.GetTokenAsync("manager", "l3tm3in")); - // Util.ValidateHTTPStatusCode(a, 204); - - // } //==================================================