public void DeleteInvalidUrlParametersOption(UrlParameters urlParameter, InvalidOptionCases inputType)
        {
            var deleteParameters = new Dictionary <string, object>();
            var optionHandler    = new OptionManager();
            var options          = new List <Dictionary <string, object> >();
            var urlParams        = new Dictionary <string, string>();
            var value            = OptionData.InvalidOptionMapper[inputType];

            deleteParameters["id"] = Common.GetOptionsByCurrentContext("parentOptionCreateResponse").FirstOrDefault().Id;

            if (!(inputType == InvalidOptionCases.Missing && urlParameter == UrlParameters.Operation))
            {
                if (urlParameter == UrlParameters.Operation)
                {
                    urlParams["operation"] = value;
                }
                else
                {
                    urlParams["operation"] = "delete";
                    urlParams["physical"]  = value;
                }
            }

            options.Add(deleteParameters);
            var response = optionHandler.DeleteOptions(options, urlParams);

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(HttpStatusCode.BadRequest).
                          And.ErrorCode((inputType == InvalidOptionCases.Missing && urlParameter == UrlParameters.Operation) ? (int)ResultCode.ParameterInsufficient : (int)ResultCode.InvalidValue));
        }
        public void DeleteInvalidIdOption(InvalidOptionCases inputType)
        {
            var deleteParameters = new Dictionary <string, object>();
            var optionHandler    = new OptionManager();
            var options          = new List <Dictionary <string, object> >();

            if (inputType != InvalidOptionCases.Missing)
            {
                deleteParameters["id"] = OptionData.InvalidOptionMapper[inputType];
                options.Add(deleteParameters);
            }
            var response = optionHandler.DeleteOptions(options, urlParameters);

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(HttpStatusCode.BadRequest).And.ErrorCode(inputType != InvalidOptionCases.Negative ? (int)ResultCode.InvalidValue : (int)ResultCode.ValueRangeExceeded));
        }
 public void WriteInvalidOption(Operation operation, OptionNestingType node, string optionParameter, InvalidOptionCases inputType)
 {
     WriteAndVerifyOption(operation, node, inputType, optionParameter);
 }
        /// <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;
            }
        }