示例#1
0
        public void SearchOptionValidId(ValidOptionId validId)
        {
            var prop = new Dictionary <string, object>(OptionSchemaProperty)
            {
                ["id"] = SearchOptionValidIdMapper(validId)
            };

            PerformTest(prop);
        }
示例#2
0
        public void TestSearchOptionId(ValidOptionId optionId)
        {
            OptionManager optionHandler            = new OptionManager();
            Dictionary <string, string> requestDic = new Dictionary <string, string>(RequestOptionSearch);

            ValidIdMapper[optionId](requestDic, OptionCreator.Data.Id);
            var response = optionHandler.SearchOption(requestDic);

            PrAssert.That(response, PrIs.SuccessfulResponse());
            PrAssert.That(response.Result, PrIs.Not.Null.And.Not.Empty);
            PrAssert.That(response.Result.Select(r => r.Id), Has.Exactly(1).EqualTo(OptionCreator.Data.Id), "The expected option cannot be found!");
        }
示例#3
0
        public void TestSearchOptionInvalidSelf(ValidOptionId optionId, InvalidOptionSelf optionSelf)
        {
            OptionManager optionHandler            = new OptionManager();
            Dictionary <string, string> requestDic = new Dictionary <string, string>()
            {
                ["self"] = InvalidSelfMapper[optionSelf],
            };

            ValidIdMapper[optionId](requestDic, OptionCreater.Data.Id);
            var response = optionHandler.SearchOption(requestDic);

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(HttpStatusCode.BadRequest).And.ErrorCode((int)ResultCode.InvalidValue), $"Still able to search option with both id = {optionId.ToString()} and self = {optionSelf.ToString()}");
        }
示例#4
0
        public void TestSearchOptionInvalidLevel(ValidOptionId optionId, InvalidOptionLevel optionLevel)
        {
            OptionManager optionHandler            = new OptionManager();
            Dictionary <string, string> requestDic = new Dictionary <string, string>()
            {
                ["level"] = InvalidLevelMapper[optionLevel],
            };

            ValidIdMapper[optionId](requestDic, OptionCreater.Data.Id);
            var response = optionHandler.SearchOption(requestDic);

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(HttpStatusCode.BadRequest).And.ErrorCode((int)ResultCode.InvalidValue).Or.ErrorCode((int)ResultCode.ValueRangeExceeded), $"Still able to search option with both id = {optionId.ToString()} and level = {optionLevel.ToString()}");
        }
示例#5
0
        public void TestSearchOptionIdAlias(ValidOptionId optionId, ValidOptionAlias optionAlias)
        {
            OptionManager optionHandler            = new OptionManager();
            Dictionary <string, string> requestDic = new Dictionary <string, string>()
            {
                ["alias"] = ValidAliasMapper[optionAlias],
            };

            ValidIdMapper[optionId](requestDic, OptionCreater.Data.Id);

            var response = optionHandler.SearchOption(requestDic);

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(HttpStatusCode.BadRequest).And.ErrorCode((int)ResultCode.InvalidParameter), $"Still able to search option with both id = {optionId.ToString()} and alias = {optionAlias.ToString()}");
        }
示例#6
0
        public static object SearchOptionValidIdMapper(ValidOptionId type)
        {
            var dict = new Dictionary <ValidOptionId, object>()
            {
                [ValidOptionId.SingleExistOptionHasNoChild]  = SingleOption.Data.Id,
                [ValidOptionId.SingleExistOptionHasOneChild] = OptionWithChild.Data.Id,
                [ValidOptionId.ListExistOptionId]            = new int[] { SingleOption.Data.Id, OptionWithChild.Data.Id },
                [ValidOptionId.ListMixedOptionId]            = new int[] { SingleOption.Data.Id, OptionWithChild.Data.Id, DeletedOption.Data.Id },
                [ValidOptionId.StringNumber]           = SingleOption.Data.Id.ToString(),
                [ValidOptionId.StringOptionGuid]       = CommonSchema.GetUuid("Option.P_Gender", true),
                [ValidOptionId.ListDuplicatedOptionId] = new int[] { SingleOption.Data.Id, SingleOption.Data.Id },
                [ValidOptionId.LeadingZero]            = SingleOption.Data.Id.ToString().PadLeft(2, '0')
            };

            return(dict[type]);
        }