code change · featureAL Developmentofficial - Microsoftreviewed - checked by Opus

#158 3 AL/BC patterns from CURABIS's internal automated-testing training material

Four new AL/BC best practice patterns were added covering item ledger entry document numbers after combined posting and three testing approaches for verifying field UI state and generating unique test values.

Pull request · merged into main on 2026-09-29 by MichaelDieringer · 14 files (+255 -3), 14 AL · feature · tier official · reviewed (checked by Opus)

What changed

  • Item Ledger Entry carries the shipment’s document number, not the invoice number, after combined Ship and Invoice posting of sales orders
  • Use TestPage field .Visible()/.Enabled() to verify UI rendering state and .Editable() via OpenEdit() for editability verification
  • Generate test fixture values with GenerateGUID() for full-length fields or GenerateRandomCodeWithLength/GenerateRandomCode20 when uniqueness must be verified
  • Four atomic AL-specific patterns documented with good/bad code examples from CURABIS internal training material
  • Patterns cover data modeling and testing domains with best practices and anti-patterns

AL objects touched

  • microsoft/knowledge/data-modeling/item-ledger-entry-document-no-follows-last-shipping-no.bad.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/data-modeling/item-ledger-entry-document-no-follows-last-shipping-no.good.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/data-modeling/item-ledger-entry-document-no-follows-last-shipping-no.md: added, not in the BC? snapshot yet
  • microsoft/knowledge/testing/use-generateguid-for-unique-test-fixture-values.bad.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/testing/use-generateguid-for-unique-test-fixture-values.good.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/testing/use-generateguid-for-unique-test-fixture-values.md: added, not in the BC? snapshot yet
  • microsoft/knowledge/testing/use-testpage-editable-to-verify-field-editability.bad.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/testing/use-testpage-editable-to-verify-field-editability.good.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/testing/use-testpage-editable-to-verify-field-editability.md: added, not in the BC? snapshot yet
  • microsoft/knowledge/testing/use-testpage-visible-enabled-to-verify-field-ui-state.bad.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/testing/use-testpage-visible-enabled-to-verify-field-ui-state.good.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/testing/use-testpage-visible-enabled-to-verify-field-ui-state.md: added, not in the BC? snapshot yet
  • microsoft/skills/review/al-data-modeling-review.md: modified, not in the BC? snapshot
  • microsoft/skills/review/al-testing-review.md: modified, not in the BC? snapshot

Context

  • Systems: development

Source: metadata of a merged pull request in microsoft/BCQuality (bcquality): title, labels, changed paths and counts, with a summary in our words. No source text and no description beyond one short quote (D10, D61).