[Quality Management] Harden IdentifyTableIDFromText fuzzy tests - #12072
Conversation
Use two test-owned temporary fixture tables with unique names and locked captions instead of system table 6, so fuzzy name and caption matches no longer depend on installed apps or language. AB#636554
Good Sense Reviewer - Round 1Recommendation: AcceptWhat this PR doesThis change replaces environment-dependent fuzzy table lookup inputs with two test-owned temporary tables that have unique names and locked captions. The updated tests isolate fuzzy name and caption matches, verify ambiguous and missing references, and confirm that successful lookup returns the canonical object name. The test setup follows the production lookup order: exact name, exact caption, fuzzy name, then fuzzy caption. The match-count checks prove each test reaches the intended branch before the result is asserted, so unrelated installed tables are far less likely to change the outcome. Problem-solution fitFit: Strong The reported failures come from relying on a common system table whose name or caption can overlap with tables from other extensions. Dedicated fixtures with unique, locked text directly remove that dependency without changing product behavior. SuggestionsNone. Risk assessment and necessityRisk: The change is limited to the test app and adds only temporary table objects. It does not change public APIs, persisted data, upgrade behavior, or product logic; the main fixture-count assumptions are checked explicitly in each affected test. Necessity: The change is needed to keep the fuzzy lookup tests stable when other extensions or translations add similar table names or captions. The scope is narrow and preserves coverage for unique, ambiguous, and missing matches.
|
|
Interesting approach... |
|
@alexey-dobriansky
This approached looked like the most appropriate for this situation. :) |
What & why
The fuzzy
IdentifyTableIDFromTexttests relied on system table 6, so their name/caption substrings could match other installed tables or translations and fail. They now use two test-owned temporary fixture tables with unique names and locked captions. Product code is unchanged.Fixes AB#636554
How I validated this
Ran the Filter Helpers suite in a local BC30 container: 85/85 passed, and the
IdentifyTableIDFromText_*tests passed 7/7 in both en-US and it-IT.