3 AL/BC patterns from CURABIS's internal automated-testing training material - #158
Conversation
Third batch from CURABIS ApS: item-ledger-entry document-no lookup after Ship-and-Invoice posting, TestPage.Visible()/.Enabled() as the mechanism for verifying field UI state, and LibraryUtility.GenerateGUID() for collision-free test fixture values.
|
Michael Dieringer (@MichaelDieringer) please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
Contributor License AgreementContribution License AgreementThis Contribution License Agreement (“Agreement”) is agreed to by the party signing below (“You”),
|
1 similar comment
|
Michael Dieringer (@MichaelDieringer) please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
Contributor License AgreementContribution License AgreementThis Contribution License Agreement (“Agreement”) is agreed to by the party signing below (“You”),
|
Summary
Third batch from CURABIS ApS, mined from CURABIS's own internal Academy course book on automated/BDD testing in Business Central. Same format as #156/#157 (6-key frontmatter, Description/Best Practice/Anti Pattern, sibling
.good.al/.bad.alsamples, no fenced code in the .md).Sales Header."Last Shipping No."), not the posted invoice number — a lookup filtered on the invoice number silently matches zero rows.TestPagefield.Visible()/.Enabled()rather than an indirect check or no check at all; generate collision-free test fixture values withLibraryUtility.GenerateGUID()+CopyStr/MaxStrLeninstead of hardcoded literals.Most of the source book turned out to be BDD philosophy and CURABIS process content that doesn't clear BCQuality's admission test — these 3 are the genuinely atomic, non-obvious AL-specific patterns that survived a full read-through, checked against the current
microsoft/knowledge/corpus and CURABIS's own two prior PRs for overlap.Test plan
🤖 Generated with Claude Code