merge feature/regression test to main branch#10
Merged
Conversation
…read-safe registries and tests - FlexQueryCore: immutable after first Configure(), Reset() for test isolation - FlexQueryEFCore: immutable after first Configure(), Reset() for test isolation - FlexQueryDapper: immutable after first Configure(), Reset() for test isolation - QueryParserRegistry: internal static class with thread-safe static methods - FieldRegistry/OperatorRegistry: remain internal static, no DI - FqlSortParser: fixed incomplete class declaration - Added Diagnostics/FlexQueryDiagnosticsCollectorTests.cs - Added AspNetCore/FieldAccessFilterTests.cs - Updated DI configuration tests for immutable pattern
…i, and Diagnostics - OpenApi: AddFlexQueryOpenApi, transformers, documentation registry, examples - Diagnostics: BuildReport timeline/math, thread-safety, ConsoleExecutionListener - AspNetCore: FieldAccessFilter merge/precedence, HttpContextExtensions resolution - Core: FilterExpressionBuilder (string ops, in/between, null, type safety) - Core: TypeHelper enum/date/guid conversion, SelectParser, SortParser - Core: QueryParserRegistry resolve/register contract - Core: FilterComposer, FilterNormalizer, FilterAnalyzer - Core: WildcardMatcher, OperatorRegistry, FieldRegistry, SafePropertyResolver - Core: GroupByBuilder, AggregateResultBuilder, KeysetPaginationBuilder - Core: BoundedConcurrentCache, QueryCacheManager, QueryCacheKeyBuilder - Core: ExpressionMethodCache, FieldResolver, ProjectionEnhancer/MetadataBuilder - Core: FlexQueryCoreTests, PagingOptionsTests, QueryOptionsTests - Validation: ValidationEdgeCaseTests for per-rule coverage - Fix: DialectTests Like assertion (was dead), KeysetPaginationTests naming - Fix: AspNetCore FieldAccessFilter registration assertion - Infra: Add InternalsVisibleTo for OpenApi.Tests
- Move test files from flat Tests/ into feature folders: Adapters/ (AgGrid, Kendo), Builders/, Caching/, Filters/, Integration/, Parsers/, Projection/, Security/, Validation/ - Move Diagnostics/DebugTests.cs from Tests/ - Move Api/Dapper/ integration tests to Dapper/Integration/ - Remove duplicate entity fixtures from Models/ (live in Fixtures/) - Update all namespaces to match new folder structure - Fix: QueryParserRegistryTests.Resolve_UnregisteredSyntax_Throws now dynamically checks all registered syntaxes, removing flaky test-ordering dependency on static QueryParserRegistry state 1382 tests passed, 25 OpenApi tests passed
Break the monolithic 1373-line ValidationRuleTests.cs into 5 focused files: - HavingAliasIntegrityRuleTests.cs (5 tests) - GovernanceConfigValidationRuleTests.cs (16 tests) - IncludeAccessValidationRuleTests.cs (7 tests) - DefaultProjectionRuleTests.cs (11 tests) - FieldAccessValidationRuleTests.cs (42 tests) 1463 tests passed, 25 OpenApi tests passed
… unit tests SqlCountBuilderTests: 17 tests for ExtractCountSql covering subquery-safe ORDER BY/LIMIT/OFFSET stripping, parentheses awareness, and edge cases. SqlHavingBuilderTests: 28 tests for Build covering all 6 operators, all 5 aggregate functions, operator alias normalization, SQLite double conversion, dialect-specific quoting (SQL Server, PostgreSQL, MySQL), table alias prefixing, and the null-having empty-string path. SqlSelectBuilderTests: 25 tests for BuildAggregateSelectParts (all aggregate functions, multiple aggregates, table aliases), BuildSelectClause (no-select fallback, explicit select, DISTINCT, GROUP BY + aggregates, aliases, navigation columns, dialect quoting, table aliases), and BuildFlatSelectClause (no-nav root columns, single/multi-level navigation joins, FlatMixed root scalars, branching nav path error, dialect quoting). 1533 total tests, 0 failures.
SqlJoinBuilderTests: 14 tests covering empty select tree, inferred joins from projection tree, multi-level navigation, explicit Includes, filtered Includes (Expand), duplicate path deduplication, unknown path skip, filtered navigation in select tree, table alias in join condition, case-insensitive filter, multiple filtered includes, and dialect-specific quoting (PostgreSQL, MySQL). 1559 total tests, 0 failures.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.