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); }
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); }
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); } } } } } }
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); } } } } }