private static void WriteAndVerifyCommonOption(Operation operation, OptionNestingType node, InvalidOptionCommonCases inputType, string optionParameter) { string valueInput = OptionData.InvalidCommonOptionMapper[inputType].ToString(); var response = WriteInvalidOption(operation, node, optionParameter, valueInput); Common.AssertWriteUnsuccessOption(response, ResultCode.InvalidValue); }
public void TestOptionUserDefineSearch(OptionNestingType optionNestingType) { var aliasOption = optionNestingType == OptionNestingType.Parent ? ParentOptionWithChild : ChildOptionAlias.Split('.')[1]; var optionSearchHandler = new OptionSearchManager(); var response = optionSearchHandler.OptionSearch <OptionSearchAliasResponse>(GetOptionSearchParameters(aliasOption), HttpMethod.Post); PrAssert.That(response, PrIs.SuccessfulResponse().And.HttpCode(System.Net.HttpStatusCode.OK)); PrAssert.That(response.Result.Total, PrIs.Not.Null.And.EqualTo(response.Result.Result.Count)); VerifyOptionData(response.Result.Result, aliasOption); }
private static void WriteAndVerifyOptionByName(int numberOfOptions, OptionNestingType optionNestingType, string valueInput, List <OptionWriteResponse> options = null) { var response = options != null?Common.UpdateOptions(options, optionNestingType, 0, valueInput) : Common.CreateOptions(numberOfOptions, optionNestingType, -1, 0, valueInput); Common.AssertWriteSuccessOption(response); //Verify foreach (var item in response.Result) { PrAssert.That(Common.SearchOptionByIdAndVerifyResult(item.Id).Name, PrIs.EqualTo(valueInput), string.Format(errorMessage, "Name")); } }
public void WriteLargeDataOption(OptionNestingType optionNestingType, LargeDataCases inputType) { var response = Common.CreateOptions((int)inputType - 1, optionNestingType, -1); Common.AssumeWriteSuccessOption(response); //Verify var options = optionNestingType == OptionNestingType.Parent ? response.Result : response.Result.SingleOrDefault().Children; PrAssert.That(options.Count, PrIs.EqualTo((int)inputType), "Actual value is not same as expected"); foreach (var item in options) { PrAssert.That(Common.SearchOptionByIdAndVerifyResult(item.Id).Id, PrIs.EqualTo(item.Id), string.Format(Common.errorMessage, "Id")); } }
/// <summary> /// Create/Update a child/parent option /// </summary> /// <param name="operation">Insert or Update</param> /// <param name="node">Children or parent</param> /// <param name="inputType">Test cases</param> /// <param name="optionParameter">Paremeters</param> private static void WriteAndVerifyOption(Operation operation, OptionNestingType node, InvalidOptionCases inputType, string optionParameter) { string valueInput = OptionData.InvalidOptionMapper[inputType].ToString(); PrivateApiResponse <List <OptionWriteResponse> > response = null; switch (inputType) { case InvalidOptionCases.Missing: response = WriteInvalidMissingOption(operation, node, optionParameter); Common.AssertWriteUnsuccessOption(response, ResultCode.ParameterInsufficient); break; default: response = WriteInvalidOption(operation, node, optionParameter, valueInput); Common.AssertWriteUnsuccessOption(response, ResultCode.InvalidValue); break; } }
/// <summary> /// Create/Update a child/parent option /// </summary> /// <param name="requestType">Request type</param> /// <param name="optionNestingType">Child/Parent</param> /// <param name="inputType">Test case</param> /// <param name="options">options == null : 'create' ? 'update'</param> private static void WriteAndVerifyOption(RequestType requestType, OptionNestingType optionNestingType, ValidOptionCases inputType, List <OptionWriteResponse> options = null) { string valueInput = OptionData.ValidOptionMapper[inputType].ToString(); int numberOfOptions = RequestType.Multiple == requestType ? NumberOfOptions : 0; switch (inputType) { case ValidOptionCases.Id: WriteAndVerifyOptionById(numberOfOptions, optionNestingType, int.Parse(valueInput), options); break; case ValidOptionCases.ParentIdZero: WriteAndVerifyOptionByParentId(numberOfOptions, optionNestingType, int.Parse(valueInput), options); break; case ValidOptionCases.ParentIdExisted: int parentId = Common.GetOptionsByCurrentContext("parentOptionCreateResponse").FirstOrDefault().Id; WriteAndVerifyOptionByParentId(numberOfOptions, optionNestingType, parentId, options); break; case ValidOptionCases.NameBasicLatin: case ValidOptionCases.NameCyrillic: case ValidOptionCases.NameHiragana: case ValidOptionCases.NameKanji: case ValidOptionCases.NameMaxLength: case ValidOptionCases.NameKatakana: WriteAndVerifyOptionByName(numberOfOptions, optionNestingType, valueInput, options); break; case ValidOptionCases.SortZero: case ValidOptionCases.SortOne: WriteAndVerifyOptionBySort(numberOfOptions, optionNestingType, int.Parse(valueInput), options); break; case ValidOptionCases.EnabledZero: case ValidOptionCases.EnabledOne: WriteAndVerifyOptionByEnabled(numberOfOptions, optionNestingType, int.Parse(valueInput), options); break; default: //Type WriteAndVerifyOptionByType(numberOfOptions, optionNestingType, int.Parse(valueInput), options); break; } }
/// <summary> /// Create a option /// </summary> /// <param name="loop">Created number option</param> /// <param name="optionNestingType">Child or parent</param> /// <param name="id">Id</param> /// <param name="parentId">Parent id</param> /// <param name="name">Name</param> /// <param name="type">Type</param> /// <param name="enabled">Enabled</param> /// <param name="sort">Sort</param> /// <returns>List option</returns> public static PrivateApiResponse <List <OptionWriteResponse> > CreateOptions(int numberOfOptions = 0, OptionNestingType optionNestingType = OptionNestingType.Parent, int id = -1, int parentId = 0 , string name = "Test Option", int type = 0, int?enabled = null, int?sort = null) { var optionHandler = new OptionManager(); var optionRequestParameters = new Dictionary <string, object>() { ["id"] = id, ["parent_id"] = parentId, ["name"] = name, ["type"] = type, }; optionRequestParameters.AddIfNotNull("enabled", enabled); optionRequestParameters.AddIfNotNull("sort", sort); var childOptionParameters = new Dictionary <string, object>(optionRequestParameters); var listOptions = new List <Dictionary <string, object> >(); childOptionParameters.Remove("parent_id"); if (OptionNestingType.Parent == optionNestingType) { for (int i = 0; i <= numberOfOptions; i++) { listOptions.Add(optionRequestParameters); } } else { var listChildOptions = new List <Dictionary <string, object> >(); for (int i = 0; i <= numberOfOptions; i++) { listChildOptions.Add(childOptionParameters); } optionRequestParameters.Add("children", listChildOptions); listOptions.Add(optionRequestParameters); } return(optionHandler.WriteOptions(listOptions)); }
/// <summary> /// Update a option /// </summary> /// <param name="options">List option</param> /// <param name="optionNestingType">Child or parent</param> /// <param name="parentId">Parent id</param> /// <param name="name">Name</param> /// <param name="type">Type</param> /// <param name="enabled">Enabled</param> /// <param name="sort">Sort</param> /// <returns>List option</returns> public static PrivateApiResponse <List <OptionWriteResponse> > UpdateOptions(List <OptionWriteResponse> options, OptionNestingType optionNestingType = OptionNestingType.Parent, int parentId = 0, string name = "Test Option" , int type = 0, int?enabled = null, int?sort = null) { var optionHandler = new OptionManager(); var optionRequestParameters = new Dictionary <string, object>() { ["id"] = -1, ["parent_id"] = parentId, ["name"] = name, ["type"] = type, }; optionRequestParameters.AddIfNotNull("enabled", enabled); optionRequestParameters.AddIfNotNull("sort", sort); var listOptions = new List <Dictionary <string, object> >(); if (OptionNestingType.Parent == optionNestingType) { foreach (var option in options) { optionRequestParameters["id"] = option.Id; listOptions.Add(optionRequestParameters); } } else { optionRequestParameters["id"] = options.FirstOrDefault().Id; var listChildOptions = new List <Dictionary <string, object> >(); foreach (var optionChilds in options.Select(item => item.Children)) { foreach (var child in optionChilds) { var childOptionParameters = new Dictionary <string, object>(optionRequestParameters); childOptionParameters.Remove("parent_id"); childOptionParameters["id"] = child.Id; listChildOptions.Add(childOptionParameters); } } optionRequestParameters.Add("children", listChildOptions); listOptions.Add(optionRequestParameters); } return(optionHandler.WriteOptions(listOptions)); }
public void UpdateValidOption(RequestType requestType, OptionNestingType optionNestingType, ValidOptionCases inputType) { WriteAndVerifyOption(requestType, optionNestingType, inputType, optionNestingType == OptionNestingType.Parent ? Common.GetOptionsByCurrentContext("parentOptionCreateResponse") : Common.GetOptionsByCurrentContext("childOptionCreateResponse")); }
public void CreateValidOption(RequestType requestType, OptionNestingType optionNestingType, ValidOptionCases inputType) { WriteAndVerifyOption(requestType, optionNestingType, inputType); }
private static PrivateApiResponse <List <OptionWriteResponse> > WriteInvalidMissingOption(Operation operation, OptionNestingType node, string parameter) { return(OptionNestingType.Parent == node?WriteInvalidMissingParentOption(operation, parameter) : WriteInvalidMissingChildrenOption(operation, parameter)); }
private static PrivateApiResponse <List <OptionWriteResponse> > WriteInvalidOption(Operation operation, OptionNestingType node, string parameter, string value) { return(OptionNestingType.Parent == node?WriteInvalidParentOption(operation, parameter, value) : WriteInvalidChildrenOption(operation, parameter, value)); }
public void WriteInvalidCommonOption(Operation operation, OptionNestingType node, string optionParameter, InvalidOptionCommonCases inputType) { WriteAndVerifyCommonOption(operation, node, inputType, optionParameter); }