public void InvalidMethodSublistsMenuLazyTest(HttpMethod httpMethod)
        {
            var handler  = new HrbcSublistManager();
            var response = handler.SublistsMenuLazy <object>(httpMethod.ToNetHttpMethod());

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.NotFound), $"{httpMethod} method of sublists-menu-lazy successfully");
        }
示例#2
0
        public void ValidLayoutSpecialGetSublistsMenuTest(ResourceId resourceId, bool isCustomMenu, SublistMenuTestData.EnableDisableValue enabledisable)
        {
            var handler = new HrbcSublistManager();
            var menuId  = isCustomMenu ? SublistMenuTestData.ValidMenuIdMapper[resourceId] : SublistMenuTestData.MenuId[resourceId];
            var request = SublistMenuTestData.GetSublistMenuLayoutRequest(menuId, new List <int>(), new List <int>());

            SublistMenuTestData.ValidEnableDisableMapper[enabledisable](request, CurrentSublist.Data[menuId].Select(value => value.Id).ToList());
            var response = handler.SublistMenuLayout <object>(request, HttpMethod.PUT.ToNetHttpMethod());

            PrAssume.That(response, PrIs.SuccessfulResponse(), "Can not update sublist menu layout");
            var getRequest = new Dictionary <string, string>()
            {
                ["menu_id"] = menuId.ToString()
            };
            var sublists = handler.SublistsMenu <SublistsMenuResponse>(getRequest, HttpMethod.GET.ToNetHttpMethod());

            PrAssert.That(sublists, PrIs.SuccessfulResponse().And.HttpCode(System.Net.HttpStatusCode.OK), "Can not get sublists menu");
            var resultEnableList  = sublists.Result.Values.Where(v => v.Value.Enabled == 1).Select(value => value.Value.Id);
            var resultDisableList = sublists.Result.Values.Where(v => v.Value.Enabled == 0).Select(value => value.Value.Id);

            foreach (var item in (IEnumerable <int>)request["enabled"])
            {
                PrAssert.That(resultEnableList.Contains(item), "enabled is not as expected");
            }
            foreach (var item in (IEnumerable <int>)request["disabled"])
            {
                PrAssert.That(resultDisableList.Contains(item), "disabled is not as expected");
            }
        }
        public void ValidDuplicateParameterUpdateSublistMenuTest(SublistMenuTestData.DuplicateUpdateSublistMenu duplicate)
        {
            var handler  = new HrbcSublistManager();
            var response = handler.SublistMenu <object>(SublistMenuTestData.ValidDuplicateSublistMenuMapper[duplicate], HttpMethod.PUT.ToNetHttpMethod());

            PrAssert.That(response, PrIs.SuccessfulResponse().And.HttpCode(System.Net.HttpStatusCode.NoContent), "Can not update sublist menu");
        }
 public static PrivateData <Dictionary <int, List <SublistMenuHandlingComponent.DataContract.Value> > > GetValueList()
 {
     return(new PrivateData <Dictionary <int, List <SublistMenuHandlingComponent.DataContract.Value> > >(
                (session, test) =>
     {
         return Task.Run(() =>
         {
             var result = new Dictionary <int, List <SublistMenuHandlingComponent.DataContract.Value> >();
             var defaulthandler = new DefaultManager();
             var allMenus = defaulthandler.SendAsync <MenusResponseData>(SublistMenuTestData.MenusEndPoint, new Dictionary <string, string>(), HttpMethod.GET).Result;
             PrAssume.That(allMenus, PrIs.SuccessfulResponse());
             foreach (var menuId in allMenus.Result.Values.Select(value => value.Value.Id))
             {
                 var handler = new HrbcSublistManager();
                 var sublists = handler.SublistsMenu <SublistsMenuResponse>(new Dictionary <string, string> {
                     ["menu_id"] = menuId.ToString()
                 }, HttpMethod.GET.ToNetHttpMethod());
                 PrAssume.That(sublists, PrIs.SuccessfulResponse());
                 result.Add(menuId, sublists.Result.Values.Select(sublist => sublist.Value).ToList());
             }
             return result;
         });
     },
                (session, test, res) => Task.Run(() =>
     {
     })));
 }
        public void InvalidJsonSublistMenuTest(InvalidSpecialCondition json)
        {
            var handler     = new HrbcSublistManager();
            var sublist     = SublistMenuTestData.GetSublistOfSpecificMenuId(SublistMenuTestData.MenuId[ResourceId.Client], handler);
            var requestJson = SublistMenuTestData.GetSublistMenuUpdateRequest(sublist.Id, SublistMenuTestData.GetSublistMenuUpdateIdFields(SublistMenuTestData.ValidFieldMapper[SublistMenuTestData.FieldsInput.SystemAllDefaultField](sublist.IdFields.Enabled)), SublistMenuTestData.GetSublistMenuUpdateLabelValue(SublistMenuTestData.ValidLabelMapper[SublistMenuTestData.LabelValue.StringNoSpaceBoth])).ToJson();
            var response    = handler.SublistMenu <object>(SublistMenuTestData.InvalidBodyJsonTestCasesMapper[json](requestJson), HttpMethod.PUT.ToNetHttpMethod());

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.BadRequest), $"Send {json} with api sublist-menu successfully");
        }
        public void InvalidJsonSublistMenuDefaultTest(InvalidSpecialCondition json)
        {
            var handler     = new HrbcSublistManager();
            var sublist     = SublistMenuTestData.GetSublistOfSpecificMenuId(SublistMenuTestData.MenuId[ResourceId.Client], handler);
            var requestJson = SublistMenuTestData.GetSublistMenuDefaultRequest(sublist.Id, SublistMenuTestData.ValidUnixTimeStamp).ToDictionary(r => r.Key, r => (object)r.Value).ToJson();
            var response    = handler.SublistMenuDefault <object>(SublistMenuTestData.InvalidBodyJsonTestCasesMapper[json](requestJson), HttpMethod.GET.ToNetHttpMethod());

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.BadRequest), $"Send {json} with api sublist-menu-default successfully");
        }
        public void InvalidIdFieldsEnableInjectionUpdateSublistMenuTest(InjectionInput injection)
        {
            var handler  = new HrbcSublistManager();
            var sublist  = SublistMenuTestData.GetSublistOfSpecificMenuId(SublistMenuTestData.MenuId[ResourceId.Client], handler);
            var request  = SublistMenuTestData.GetSublistMenuUpdateRequest(sublist.Id, SublistMenuTestData.GetSublistMenuUpdateIdFields(InjectionInputData.InjectionInputMapper[injection]), SublistMenuTestData.GetSublistMenuUpdateLabelValue(SublistMenuTestData.ValidLabelMapper[SublistMenuTestData.LabelValue.StringNoSpaceBoth]));
            var response = handler.SublistMenu <object>(request, HttpMethod.PUT.ToNetHttpMethod());

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.BadRequest), "Still able to update sublist menu");
        }
        public void InvalidJsonSublistMenuLayoutTest(InvalidSpecialCondition json)
        {
            var handler     = new HrbcSublistManager();
            var menuId      = SublistMenuTestData.ValidMenuIdMapper[ResourceId.Client];
            var requestJson = SublistMenuTestData.GetSublistMenuLayoutRequest(menuId, new List <int>(), new List <int>()).ToJson();
            var response    = handler.SublistMenuLayout <object>(SublistMenuTestData.InvalidBodyJsonTestCasesMapper[json](requestJson), HttpMethod.PUT.ToNetHttpMethod());

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.BadRequest), $"Send {json} with api sublist-menu-layout successfully");
        }
        public void ValidLabelValueInjectionUpdateSublistMenuTest(InjectionInput injection)
        {
            var handler  = new HrbcSublistManager();
            var sublist  = SublistMenuTestData.GetSublistOfSpecificMenuId(SublistMenuTestData.MenuId[ResourceId.Client], handler);
            var request  = SublistMenuTestData.GetSublistMenuUpdateRequest(sublist.Id, SublistMenuTestData.GetSublistMenuUpdateIdFields(SublistMenuTestData.ValidFieldMapper[SublistMenuTestData.FieldsInput.SystemAllDefaultField](sublist.IdFields.Enabled)), SublistMenuTestData.GetSublistMenuUpdateLabelValue(InjectionInputData.InjectionInputMapper[injection]));
            var response = handler.SublistMenu <object>(request, HttpMethod.PUT.ToNetHttpMethod());

            PrAssert.That(response, PrIs.SuccessfulResponse().And.HttpCode(System.Net.HttpStatusCode.NoContent), "Can not update sublist menu");
        }
        public void ValidReturnJsonContentTypeGetSublistMenuDefaultTest()
        {
            var handler  = new HrbcSublistManager();
            var sublist  = SublistMenuTestData.GetSublistOfSpecificMenuId(SublistMenuTestData.MenuId[ResourceId.Client], handler);
            var request  = SublistMenuTestData.GetSublistMenuDefaultRequest(sublist.Id, SublistMenuTestData.ValidUnixTimeStamp);
            var response = handler.SublistMenuDefault(request, HttpMethod.GET.ToNetHttpMethod());

            PrAssert.That(response.IsSuccessStatusCode, "Can not update custom action");
            PrAssert.That(response.Content.Headers.ContentType.MediaType, PrIs.EqualTo("application/json"), "The content type is not as expected");
        }
示例#11
0
        public void InvalidSpecialUpdateSublistMenuLayoutTest(SublistMenuTestData.InvalidEnableDisableValue invalidValue)
        {
            var handler = new HrbcSublistManager();
            var menuId  = SublistMenuTestData.ValidMenuIdMapper[ResourceId.Client];
            var request = SublistMenuTestData.GetSublistMenuLayoutRequest(menuId, CurrentSublist.Data[menuId].Where(v => v.Enabled == 1).Select(value => value.Id).ToList(), CurrentSublist.Data[menuId].Where(v => v.Enabled == 0).Select(value => value.Id).ToList());

            SublistMenuTestData.InvalidEnableDisableMapper[invalidValue](request, CurrentSublist.Data[menuId].Select(value => value.Id).ToList());
            var response = handler.SublistMenuLayout <object>(request, HttpMethod.PUT.ToNetHttpMethod());

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.BadRequest), "Still able to update sublist menu layout");
        }
        public void InvalidGetSublistMenuDefaultTest(string param, SublistMenuTestData.InvalidValue invalidValue)
        {
            var handler = new HrbcSublistManager();
            var sublist = SublistMenuTestData.GetSublistOfSpecificMenuId(SublistMenuTestData.MenuId[ResourceId.Client], handler);
            var request = SublistMenuTestData.GetSublistMenuDefaultRequest(sublist.Id, SublistMenuTestData.ValidUnixTimeStamp).ToDictionary(r => r.Key, r => (object)r.Value);

            SublistMenuTestData.InvalidValueMapper[invalidValue](request, param);
            var response = handler.SublistMenuDefault <SublistMenuDefaultResponse>(request.ToDictionary(r => r.Key, r => r.Value.ToString()), HttpMethod.GET.ToNetHttpMethod());

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.BadRequest), "Receive sublist menu default");
        }
示例#13
0
        public void InvalidInjectionUpdateSublistMenuResetLayoutTest(InjectionInput injection)
        {
            var handler = new HrbcSublistManager();
            var request = new Dictionary <string, string>()
            {
                ["menu_id"] = InjectionInputData.InjectionInputMapper[injection],
            };
            var response = handler.SublistMenuResetLayout <SublistsMenuResponse>(request, HttpMethod.PUT.ToNetHttpMethod());

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.BadRequest), "Update sublist menu reset layout");
        }
示例#14
0
        public void ValidUpdateSublistMenuLayoutTest(ResourceId resourceId, bool isCustomMenu, SublistMenuTestData.EnableDisableValue enabledisable)
        {
            var handler = new HrbcSublistManager();
            var menuId  = isCustomMenu ? SublistMenuTestData.ValidMenuIdMapper[resourceId] : SublistMenuTestData.MenuId[resourceId];
            var request = SublistMenuTestData.GetSublistMenuLayoutRequest(menuId, new List <int>(), new List <int>());

            SublistMenuTestData.ValidEnableDisableMapper[enabledisable](request, CurrentSublist.Data[menuId].Select(value => value.Id).ToList());
            var response = handler.SublistMenuLayout <object>(request, HttpMethod.PUT.ToNetHttpMethod());

            PrAssert.That(response, PrIs.SuccessfulResponse().And.HttpCode(System.Net.HttpStatusCode.NoContent), "Can not update sublist menu layout");
        }
示例#15
0
        private static void InvalidInjectionUpdateSublistMenuLayoutTest(string param, InjectionInput injection)
        {
            var handler = new HrbcSublistManager();
            var menuId  = SublistMenuTestData.ValidMenuIdMapper[ResourceId.Client];
            var request = SublistMenuTestData.GetSublistMenuLayoutRequest(menuId, CurrentSublist.Data[menuId].Where(v => v.Enabled == 1).Select(value => value.Id).ToList(), CurrentSublist.Data[menuId].Where(v => v.Enabled == 0).Select(value => value.Id).ToList());

            request[param] = InjectionInputData.InjectionInputMapper[injection];
            var response = handler.SublistMenuLayout <object>(request, HttpMethod.PUT.ToNetHttpMethod());

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.BadRequest), "Still able to update sublist menu layout");
        }
示例#16
0
        public void InvalidInjectionGetSublistsMenuTest(InjectionInput injection)
        {
            var handler = new HrbcSublistManager();
            var request = new Dictionary <string, string>()
            {
                ["menu_id"] = InjectionInputData.InjectionInputMapper[injection]
            };
            var response = handler.SublistsMenu <SublistsMenuResponse>(request, HttpMethod.GET.ToNetHttpMethod());

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.BadRequest), "Get sublists menu");
        }
        public void ValidGetSublistMenuDefaultTest(ResourceId resourceId, bool isCustomMenu, SublistMenuTestData.ValidUnderScope validUnderScope)
        {
            var handler = new HrbcSublistManager();
            var sublist = SublistMenuTestData.GetSublistOfSpecificMenuId(isCustomMenu ? SublistMenuTestData.ValidMenuIdMapper[resourceId] : SublistMenuTestData.MenuId[resourceId], handler);
            var request = SublistMenuTestData.GetSublistMenuDefaultRequest(sublist.Id, SublistMenuTestData.ValidUnixTimeStamp);

            SublistMenuTestData.ValidUnderScopeMapper[validUnderScope](request);
            var response = handler.SublistMenuDefault <SublistMenuDefaultResponse>(request, HttpMethod.GET.ToNetHttpMethod());

            PrAssert.That(response, PrIs.SuccessfulResponse().And.HttpCode(System.Net.HttpStatusCode.OK), "Can not get sublist menu default");
        }
        public void InvalidJsonSublistsMenuLazyTest(InvalidSpecialCondition json)
        {
            var handler     = new HrbcSublistManager();
            var menuId      = SublistMenuTestData.ValidMenuIdMapper[ResourceId.Client];
            var requestJson = new Dictionary <string, object>()
            {
                ["menu_id"] = menuId.ToString()
            }.ToJson();
            var response = handler.SublistsMenuLazy <object>(SublistMenuTestData.InvalidBodyJsonTestCasesMapper[json](requestJson), HttpMethod.GET.ToNetHttpMethod());

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.BadRequest), $"Send {json} with api sublists-menu-lazy successfully");
        }
示例#19
0
        public void ValidGetSublistsMenuTest(ResourceId resourceId, bool isCustomMenu)
        {
            var handler = new HrbcSublistManager();
            var menuId  = isCustomMenu ? SublistMenuTestData.ValidMenuIdMapper[resourceId] : SublistMenuTestData.MenuId[resourceId];
            var request = new Dictionary <string, string>()
            {
                ["menu_id"] = menuId.ToString()
            };
            var response = handler.SublistsMenu <SublistsMenuResponse>(request, HttpMethod.GET.ToNetHttpMethod());

            PrAssert.That(response, PrIs.SuccessfulResponse().And.HttpCode(System.Net.HttpStatusCode.OK), "Can not get sublists menu");
        }
示例#20
0
 private static void VerifyResetLayoutResponse(HrbcSublistManager handler, PrivateApiResponse <SublistsMenuResponse> resetResponse)
 {
     foreach (var key in resetResponse.Result.Values.Keys)
     {
         var sublistRequest  = SublistMenuTestData.GetSublistMenuDefaultRequest(resetResponse.Result.Values[key].Id, SublistMenuTestData.ValidUnixTimeStamp);
         var sublistResponse = handler.SublistMenuDefault <SublistMenuDefaultResponse>(sublistRequest, HttpMethod.GET.ToNetHttpMethod());
         PrAssume.That(sublistResponse, PrIs.SuccessfulResponse(), "Can not get sublist menu default");
         foreach (var field in resetResponse.Result.Values[key].IdFields.Enabled)
         {
             PrAssert.That(sublistResponse.Result.IdFields.Enabled.Contains(field), "Response not contains the expected fields");
         }
     }
 }
示例#21
0
        public void ValidUpdateSublistMenuResetLayoutTest(ResourceId resourceId, bool isCustomMenu)
        {
            var handler = new HrbcSublistManager();
            var menuId  = isCustomMenu ? SublistMenuTestData.ValidMenuIdMapper[resourceId] : SublistMenuTestData.MenuId[resourceId];
            var request = new Dictionary <string, string>()
            {
                ["menu_id"] = menuId.ToString(),
            };
            var response = handler.SublistMenuResetLayout <SublistsMenuResponse>(request, HttpMethod.PUT.ToNetHttpMethod());

            PrAssert.That(response, PrIs.SuccessfulResponse().And.HttpCode(System.Net.HttpStatusCode.OK), "Can not update sublist menu reset layout");
            VerifyResetLayoutResponse(handler, response);
        }
示例#22
0
        public void ValidReturnJsonContentTypeGetSublistsMenuTest()
        {
            var handler = new HrbcSublistManager();
            var menuId  = SublistMenuTestData.MenuId[ResourceId.Client];
            var request = new Dictionary <string, string>()
            {
                ["menu_id"] = menuId.ToString()
            };
            var response = handler.SublistsMenu(request, HttpMethod.GET.ToNetHttpMethod());

            PrAssert.That(response.IsSuccessStatusCode, "Can not update custom action");
            PrAssert.That(response.Content.Headers.ContentType.MediaType, PrIs.EqualTo("application/json"), "The content type is not as expected");
        }
示例#23
0
        public void InvalidMenuIdGetSublistsMenuTest(SublistMenuTestData.InvalidValue invalid)
        {
            var handler = new HrbcSublistManager();
            var request = new Dictionary <string, object>()
            {
                ["menu_id"] = ""
            };

            SublistMenuTestData.InvalidValueMapper[invalid](request, "menu_id");
            var response = handler.SublistsMenu <SublistsMenuResponse>(request.ToDictionary(d => d.Key, d => d.Value.ToString()), HttpMethod.GET.ToNetHttpMethod());

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.BadRequest), "Get sublists menu");
        }
        public void InvalidIdFieldsEnableUpdateSublistMenuTest(string param, SublistMenuTestData.InvalidValue invalidValue)
        {
            var handler   = new HrbcSublistManager();
            var sublist   = SublistMenuTestData.GetSublistOfSpecificMenuId(SublistMenuTestData.MenuId[ResourceId.Client], handler);
            var enableDic = new Dictionary <string, object> {
                ["enabled"] = SublistMenuTestData.ValidFieldMapper[SublistMenuTestData.FieldsInput.SystemAllDefaultField](sublist.IdFields.Enabled)
            };

            SublistMenuTestData.InvalidValueMapper[invalidValue](enableDic, param);
            var request  = SublistMenuTestData.GetSublistMenuUpdateRequest(sublist.Id, enableDic, SublistMenuTestData.GetSublistMenuUpdateLabelValue(SublistMenuTestData.ValidLabelMapper[SublistMenuTestData.LabelValue.StringNoSpaceBoth]));
            var response = handler.SublistMenu <object>(request, HttpMethod.PUT.ToNetHttpMethod());

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.BadRequest), "Still able to update sublist menu");
        }
        public void ValidUpdateSublistMenuTest(ResourceId resourceId, bool isCustomMenu, SublistMenuTestData.FieldsInput fieldsInput, SublistMenuTestData.LabelValue labelValue)
        {
            var handler  = new HrbcSublistManager();
            var menuId   = isCustomMenu ? SublistMenuTestData.ValidMenuIdMapper[resourceId] : SublistMenuTestData.MenuId[resourceId];
            var sublist  = SublistMenuTestData.GetSublistOfSpecificMenuId(menuId, handler);
            var request  = SublistMenuTestData.GetSublistMenuUpdateRequest(sublist.Id, SublistMenuTestData.GetSublistMenuUpdateIdFields(SublistMenuTestData.ValidFieldMapper[fieldsInput](sublist.IdFields.Enabled)), SublistMenuTestData.GetSublistMenuUpdateLabelValue(SublistMenuTestData.ValidLabelMapper[labelValue]));
            var response = handler.SublistMenu <object>(request, HttpMethod.PUT.ToNetHttpMethod());

            PrAssert.That(response, PrIs.SuccessfulResponse().And.HttpCode(System.Net.HttpStatusCode.NoContent), "Can not update sublist menu");
            var sublists = handler.SublistsMenu <SublistsMenuResponse>(new Dictionary <string, string> {
                ["menu_id"] = menuId.ToString()
            }, HttpMethod.GET.ToNetHttpMethod());
            var specificSublist = sublists.Result.Values.Where(value => value.Value.Id == sublist.Id).Select(dic => dic.Value).SingleOrDefault();

            PrAssert.That(specificSublist.Label.EnUs.Value, PrIs.EqualTo(SublistMenuTestData.ValidLabelMapper[labelValue]), "Value of en_us is not as expected");
            PrAssert.That(specificSublist.Label.Ja.Value, PrIs.EqualTo(SublistMenuTestData.ValidLabelMapper[labelValue]), "Value of ja is not as expected");
            PrAssert.That(specificSublist.IdFields.Enabled, PrIs.EqualTo(SublistMenuTestData.ValidFieldMapper[fieldsInput](sublist.IdFields.Enabled)), "Value of enable is not as expected");
        }
        public void ValidDuplicateGetSublistMenuDefaultTest(SublistMenuTestData.DuplicateGetSublistMenuDefault duplicateGet)
        {
            var handler  = new HrbcSublistManager();
            var menuId   = SublistMenuTestData.MenuId[ResourceId.Client];
            var sublists = handler.SublistsMenu <SublistsMenuResponse>(new Dictionary <string, string> {
                ["menu_id"] = menuId.ToString()
            }, HttpMethod.GET.ToNetHttpMethod());

            PrAssume.That(sublists, PrIs.SuccessfulResponse());
            var sublist      = sublists.Result.Values.FirstOrDefault().Value;
            var validRequest = SublistMenuTestData.GetSublistMenuDefaultRequest(sublist.Id, SublistMenuTestData.ValidUnixTimeStamp);
            var request      = validRequest.ToList();

            SublistMenuTestData.ValidDuplicateSublistMenuDefaultMapper[duplicateGet](request, sublist.Id.ToString(), sublists.Result.Values.LastOrDefault().Value.Id.ToString(), "1536741227");
            var response = handler.SublistMenuDefault <SublistMenuDefaultResponse>(request, HttpMethod.GET.ToNetHttpMethod());

            PrAssert.That(response, PrIs.SuccessfulResponse().And.HttpCode(System.Net.HttpStatusCode.OK), "Can not get sublist menu default");
        }
示例#27
0
        public void ValidSpecialUpdateSublistMenuResetLayoutTest(ResourceId resourceId, bool isCustomMenu, SublistMenuTestData.EnableDisableValue enabledisable)
        {
            var handler = new HrbcSublistManager();
            var menuId  = isCustomMenu ? SublistMenuTestData.ValidMenuIdMapper[resourceId] : SublistMenuTestData.MenuId[resourceId];
            var request = SublistMenuTestData.GetSublistMenuLayoutRequest(menuId, new List <int>(), new List <int>());

            SublistMenuTestData.ValidEnableDisableMapper[enabledisable](request, CurrentSublist.Data[menuId].Select(value => value.Id).ToList());
            var response = handler.SublistMenuLayout <object>(request, HttpMethod.PUT.ToNetHttpMethod());

            PrAssume.That(response, PrIs.SuccessfulResponse(), "Can not update sublist menu layout");
            var resetRequest = new Dictionary <string, string>()
            {
                ["menu_id"] = menuId.ToString(),
            };
            var resetResponse = handler.SublistMenuResetLayout <SublistsMenuResponse>(resetRequest, HttpMethod.PUT.ToNetHttpMethod());

            PrAssert.That(response, PrIs.SuccessfulResponse().And.HttpCode(System.Net.HttpStatusCode.OK), "Can not update sublist menu reset layout");
            VerifyResetLayoutResponse(handler, resetResponse);
        }
示例#28
0
        public void InvalidInjectionUpdateSublistMenuResetLayoutTest(DuplicateId duplicate)
        {
            var handler = new HrbcSublistManager();
            var request = new List <KeyValuePair <string, string> > {
                new KeyValuePair <string, string>("menu_id", "1")
            };

            if (duplicate == DuplicateId.SameValue)
            {
                request.Add(new KeyValuePair <string, string>("menu_id", "1"));
            }
            else
            {
                request.Add(new KeyValuePair <string, string>("menu_id", "2"));
            }
            var response = handler.SublistMenuResetLayout <SublistsMenuResponse>(request, HttpMethod.PUT.ToNetHttpMethod());

            PrAssert.That(response, PrIs.SuccessfulResponse().And.HttpCode(System.Net.HttpStatusCode.OK), "Update sublist menu reset layout");
        }
示例#29
0
        public void ValidDuplicateGetSublistsMenuTest(DuplicateId duplicate)
        {
            var handler = new HrbcSublistManager();
            var request = new List <KeyValuePair <string, string> > {
                new KeyValuePair <string, string>("menu_id", "1")
            };

            if (duplicate == DuplicateId.SameValue)
            {
                request.Add(new KeyValuePair <string, string>("menu_id", "1"));
            }
            else
            {
                request.Add(new KeyValuePair <string, string>("menu_id", "2"));
            }
            var response = handler.SublistsMenu <SublistsMenuResponse>(request, HttpMethod.GET.ToNetHttpMethod());

            PrAssert.That(response, PrIs.SuccessfulResponse().And.HttpCode(System.Net.HttpStatusCode.OK), "Can not get sublists menu");
        }
示例#30
0
        public void ValidSpecialUpdateSublistMenuLayoutTest(string param)
        {
            var handler     = new HrbcSublistManager();
            var menuId      = SublistMenuTestData.ValidMenuIdMapper[ResourceId.Client];
            var request     = SublistMenuTestData.GetSublistMenuLayoutRequest(menuId, CurrentSublist.Data[menuId].Where(v => v.Enabled == 1).Select(value => value.Id).ToList(), CurrentSublist.Data[menuId].Where(v => v.Enabled == 0).Select(value => value.Id).ToList());
            var shuffleList = (request[param] as List <int>);

            shuffleList.Shuffle();
            request[param] = shuffleList;
            var response = handler.SublistMenuLayout <object>(request, HttpMethod.PUT.ToNetHttpMethod());

            PrAssert.That(response, PrIs.SuccessfulResponse().And.HttpCode(System.Net.HttpStatusCode.NoContent), "Can not update sublist menu layout");
            var sublists = handler.SublistsMenu <SublistsMenuResponse>(new Dictionary <string, string> {
                ["menu_id"] = menuId.ToString()
            }, HttpMethod.GET.ToNetHttpMethod());
            var result = sublists.Result.Values.Where(v => v.Value.Enabled == (param == "enabled" ? 1 : 0)).Select(value => value.Value).ToList();

            for (int i = 0; i < result.Count; i++)
            {
                PrAssert.That(result.Find(r => r.Position == i).Id, PrIs.EqualTo(shuffleList[i]), "The position is not as expected");
            }
        }