示例#1
0
        private static SearchFilter GetSystemFieldSeachFilter(ResourceId resource, bool isAlt)
        {
            var systemFieldWithType = isAlt ? SearchConstants.SystemFieldsValues[resource].Last() : SearchConstants.SystemFieldsValues[resource].First();
            var searchType          = SearchConstants.FieldTypeToSearchTypeMap[systemFieldWithType.Key].First();

            return(SearchLogicCases.PrepareTestCases(searchType, resource, () => systemFieldWithType.Value, systemFieldWithType.Key).First(x => x.Key.EndsWith(SearchLogicCases.ImportantCaseMarker)).Value().Conditions.Filter);
        }
示例#2
0
        private static SearchFilter GetUserDefinedFieldSearchFilter(ResourceId resource, bool isAlt)
        {
            var userField     = isAlt ? FieldCreator.Data.Where(x => x.Value.Field.Resource == resource).Last() : FieldCreator.Data.Where(x => x.Value.Field.Resource == resource).First();
            var userFieldType = (TestCoreFramework.Enums.FieldType)Enum.Parse(typeof(TestCoreFramework.Enums.FieldType), userField.Key.ToString().Split('_')[1]);
            var searchType    = SearchConstants.FieldTypeToSearchTypeMap[userFieldType].First();

            return(SearchLogicCases.PrepareTestCases(searchType, resource, () => userField.Value.Field.Name, userFieldType).First(x => x.Key.EndsWith(SearchLogicCases.ImportantCaseMarker)).Value().Conditions.Filter);
        }
示例#3
0
        private static SearchFilter GetApplicationFieldSearchFilter(ResourceId resource, bool isAlt)
        {
            var applicationFieldType = isAlt ? TestCoreFramework.Enums.FieldType.Url : TestCoreFramework.Enums.FieldType.Url;
            var applicationFieldName = SearchConstants.FieldTypeToApplicationFieldNameMap[applicationFieldType];
            var searchType           = SearchConstants.FieldTypeToSearchTypeMap[applicationFieldType].First();

            return(SearchLogicCases.PrepareTestCases(searchType, resource, () => applicationFieldName, applicationFieldType).First(x => x.Key.EndsWith(SearchLogicCases.ImportantCaseMarker)).Value().Conditions.Filter);
        }
        private static IEnumerable <TestCaseData> GenerateTestDataForFileds(Func <ResourceId, ResourceId, TestCoreFramework.Enums.FieldType, string> fieldNameProvider,
                                                                            Func <ResourceId, ResourceId, TestCoreFramework.Enums.FieldType, bool> fieldIsApplicableDeterminator = null)
        {
            foreach (var masterResource in ResourceToPossibleReferenceResourcesMap)
            {
                foreach (var dependentResource in masterResource.Value)
                {
                    foreach (var fieldTypeItem in SearchConstants.FieldTypeToSearchTypeMap)
                    {
                        var privateApiFieldType = fieldTypeItem.Key == TestCoreFramework.Enums.FieldType.OptionDropdown || fieldTypeItem.Key == TestCoreFramework.Enums.FieldType.OptionCheckbox
                            ? TestCoreFramework.Enums.FieldType.Option
                            : fieldTypeItem.Key;
                        foreach (var searchType in fieldTypeItem.Value)
                        {
                            if (fieldIsApplicableDeterminator != null && !fieldIsApplicableDeterminator(masterResource.Key, dependentResource, fieldTypeItem.Key))
                            {
                                continue;
                            }
                            var testCases = SearchLogicCases.PrepareTestCases(searchType, masterResource.Key, () => fieldNameProvider(masterResource.Key, dependentResource, fieldTypeItem.Key), fieldTypeItem.Key);
                            foreach (var testCase in testCases)
                            {
                                var testCaseData = new TestCaseData(masterResource.Key, dependentResource, fieldTypeItem.Key, searchType, testCase.Key.Replace($" {SearchLogicCases.ImportantCaseMarker}", string.Empty), testCase.Value)
                                                   .SetDescription($"Test case for {masterResource.Key} resource, {dependentResource} referenced resource, {fieldTypeItem.Key} referenced field type, {searchType} search type: {testCase.Key.Replace($" {SearchLogicCases.ImportantCaseMarker}", string.Empty)}");

                                if (searchType == SearchFilterType.NumMinMax)
                                {
                                    testCaseData.Bug("39346");
                                }
                                if (fieldTypeItem.Key == TestCoreFramework.Enums.FieldType.Age || fieldTypeItem.Key == TestCoreFramework.Enums.FieldType.Date)
                                {
                                    testCaseData.Bug("39347");
                                }
                                yield return(testCaseData);
                            }
                        }
                    }
                }
            }
        }
示例#5
0
        private static IEnumerable <TestCaseData> GenerateTestDataForFileds(Func <ResourceId, TestCoreFramework.Enums.FieldType, string> fieldNameProvider,
                                                                            Func <ResourceId, TestCoreFramework.Enums.FieldType, bool> fieldIsApplicableDeterminator = null)
        {
            foreach (var resource in Enum.GetValues(typeof(ResourceId)).Cast <ResourceId>().Except(new[] { ResourceId.None }))
            {
                foreach (var fieldTypeItem in SearchConstants.FieldTypeToSearchTypeMap)
                {
                    foreach (var searchType in fieldTypeItem.Value)
                    {
                        if (fieldIsApplicableDeterminator != null && !fieldIsApplicableDeterminator(resource, fieldTypeItem.Key))
                        {
                            continue;
                        }
                        var testCases = SearchLogicCases.PrepareTestCases(searchType, resource, () => fieldNameProvider(resource, fieldTypeItem.Key), fieldTypeItem.Key);
                        foreach (var testCase in testCases)
                        {
                            var testCaseData = new TestCaseData(resource, fieldTypeItem.Key, searchType, testCase.Key.Replace($" {SearchLogicCases.ImportantCaseMarker}", string.Empty), testCase.Value)
                                               .SetDescription($"Test case for {resource} resource, {fieldTypeItem.Key} field type, {searchType} search type: {testCase.Key.Replace($" {SearchLogicCases.ImportantCaseMarker}", string.Empty)}");

                            if (searchType == SearchFilterType.NumMinMax)
                            {
                                testCaseData.Bug("39346");
                            }
                            if (fieldTypeItem.Key == TestCoreFramework.Enums.FieldType.Age || fieldTypeItem.Key == TestCoreFramework.Enums.FieldType.Date)
                            {
                                testCaseData.Bug("39347");
                            }
                            if (testCase.Key.Contains("Period"))
                            {
                                testCaseData.Bug("39359");
                            }

                            yield return(testCaseData);
                        }
                    }
                }
            }
        }