Repository navigation
[API tests] Ignore localized fields in API document comparisons - #12682
Prangshuman Das (t-prda) wants to merge 1 commit into
Conversation
ab249f3 to
f853da9
Compare
Good Sense Reviewer - Round 1Recommendation: Accept with SuggestionsWhat this PR doesThis change re-enables ten API document comparison tests and ignores localized date fields when they exist. The dynamic field lookup is safe across country builds, and the APIV1 and APIV2 changes are consistent, but two changes remove more date validation than the scenario establishes. Problem-solution fitFit: Partial The change restores the excluded tests and handles country-specific fields without compile-time dependencies. It does not establish why every ignored date may differ, and the purchase-order change broadens an existing time-zone exception to all runs. SuggestionsS1 (🟠 Moderate): Keep coverage for ignored localized dates S2 (🟠 Moderate): Keep Order Date comparison time-bound Risk assessment and necessityRisk: The change is test-only and does not alter runtime or public surfaces. The risk is false-green coverage in countries that use operation or VAT dates, especially because these fields can affect posting and VAT reporting. Necessity: Restoring the excluded API tests is worthwhile, and the country-aware helper is a suitable mechanism. The scope should keep date assertions wherever the values are expected to match.
|
f853da9 to
4ada5f6
Compare
4ada5f6 to
7ceaecc
Compare
7ceaecc to
12194aa
Compare
|
Thanks for the review. Both suggestions come from the same cause: these fields are not exposed by the API, so the two creation paths default them in different sessions with different WorkDates. S2 (Order Date): in APIV2 S1 (Operation Occurred Date / VAT Reporting Date): neither field is exposed by any APIV1/APIV2 page. Both are derived in the session that creates the document ( No code change for these two; the AL review thread on the Order Date line has the same explanation. |
Skip localized header fields that only exist in some countries when comparing page and API documents and re-enable the through-page-and-API tests. AB#646383 AB#653393 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
12194aa to
2a25095
Compare
Good Sense Reviewer - Round 2Recommendation: AcceptWhat this PR doesThis change re-enables ten page-versus-API document comparison tests and excludes fields that are not part of the API contract or only exist in some countries. The exposed document and posting dates remain checked, and the dynamic field lookup limits each localized exclusion to tables where that field exists. Status of previous suggestions
New observations (commits since round 1)None. Risk assessment and necessityRisk: The change is test-only. The remaining false-green risk is limited because API-exposed dates are still compared, while only localized or separate-session defaults are excluded. Necessity: Restoring these ten tests improves API coverage. The narrow exclusions are required so the comparisons validate the API contract instead of unrelated country fields and session-local defaults.
|
Review focus:
AddFieldToIgnoreIfExistscall sites.Area fix (previously #11229): ignores localized fields in API document comparisons, then re-enables the affected tests.
Related: AB#646383, AB#653393
Stack (each PR shows only its own layer; merge bottom first)
main)Experiments (on D8, do not merge): #12685 E single tenant, #12686 F no clean execution. Combined validation (do not merge): #12687, same tree as D8.
Platform:
mainalready pins BCPlatform 30.0.56112.0, which includes the SQL connection-pool fix (AB#653457).Note for CI: AL-Go's new-warning check needs a CI/CD baseline from the base branch, and
features/*bases have none, so a PR build there fails with a 404. The current CI runs were triggered while these PRs targetedmain, so their results are valid for the cumulative change.