bcquality/microsoft/knowledge/testing
Michael Dieringer db9c0f275a Fix remaining correctness issues from Jesper's 2026-09-15 re-review
- use-generateguid-for-unique-test-fixture-values.md: narrowed the
  collision rule to primary-key/unique-lookup fields - an ordinary
  descriptive field carries no uniqueness constraint, so a hardcoded
  or deterministic value there isn't the anti-pattern (the article and
  its al-testing-review.md worklist cue both said "primary-key or
  descriptive field"). Also corrected GenerateRandomCode: it opens its
  target table as a temporary RecordRef that starts and stays empty,
  so its repeat/until loop always exits after one iteration and never
  retries even within a single test run - the "non-colliding within a
  test run" claim was false. It's the rightmost N characters of
  GenerateGUID()'s sequential series, so a short field's value cycles
  (Code[1] repeats every 10 calls, Code[2] every 100). Verified against
  LibraryUtility.Codeunit.al in the BCApps reference clone.
- item-ledger-entry-document-no-follows-last-shipping-no: both
  fixtures called FindSet() without consuming its optional Boolean,
  which raises a runtime error on an empty result set - the opposite
  of the article's own claimed "silently matches zero rows, no error"
  behavior. Wrapped in `if ... then;` per the existing
  guard-database-reads.good.al idiom.
- al-data-modeling-review.md: widened both not-applicable scope
  clauses (intro and outcome) to include dimension wiring, posting-
  routine structure, and Item Ledger Entry document-number lookups -
  the leaf declared itself not-applicable outside setup/master/key/
  numbering/block/audit surfaces despite having a targeted cue for
  this PR's own new article.
- Converted this PR's 8 plain-backtick "See sample: `x.good.al`."
  references (across all 4 new articles) to the READ-convention
  markdown-link form required by Knowledge-Retrieval.ps1.

Rebased onto upstream/main (one conflict in al-data-modeling-review.md
intro wording, merged).
2026-09-21 22:35:42 +02:00
..
asserterror-needs-expectederror-and-code.bad.al Add testing knowledge: UI handlers, table relations, asserterror, fixtures (P1+P2) (#62) 2026-07-09 10:24:51 +02:00
asserterror-needs-expectederror-and-code.good.al Add testing knowledge: UI handlers, table relations, asserterror, fixtures (P1+P2) (#62) 2026-07-09 10:24:51 +02:00
asserterror-needs-expectederror-and-code.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
permission-tests-must-lower-the-execution-context.bad.al Complete AL review knowledge readiness (#108) 2026-07-15 10:55:25 +02:00
permission-tests-must-lower-the-execution-context.good.al Complete AL review knowledge readiness (#108) 2026-07-15 10:55:25 +02:00
permission-tests-must-lower-the-execution-context.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
testisolation-belongs-on-the-test-runner.bad.al Complete AL review knowledge readiness (#108) 2026-07-15 10:55:25 +02:00
testisolation-belongs-on-the-test-runner.good.al Complete AL review knowledge readiness (#108) 2026-07-15 10:55:25 +02:00
testisolation-belongs-on-the-test-runner.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
transactionmodel-attribute-governs-test-transactions.bad.al Fix lifecycle compatibility guidance (#93) 2026-07-14 11:26:16 +02:00
transactionmodel-attribute-governs-test-transactions.good.al Fix lifecycle compatibility guidance (#93) 2026-07-14 11:26:16 +02:00
transactionmodel-attribute-governs-test-transactions.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
ui-handlers-in-tests.bad.al Exempt optional notification handlers from the HandlerFunctions execution rule 2026-09-02 11:46:13 +02:00
ui-handlers-in-tests.good.al Exempt optional notification handlers from the HandlerFunctions execution rule 2026-09-02 11:46:13 +02:00
ui-handlers-in-tests.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
use-generateguid-for-unique-test-fixture-values.bad.al Add 3 more AL/BC patterns from CURABIS Academy testing course material 2026-09-21 22:34:40 +02:00
use-generateguid-for-unique-test-fixture-values.good.al Address second round of Jesper Schulz-Wedde's review on PR #158 2026-09-21 22:34:40 +02:00
use-generateguid-for-unique-test-fixture-values.md Fix remaining correctness issues from Jesper's 2026-09-15 re-review 2026-09-21 22:35:42 +02:00
use-library-codeunits-for-test-fixtures.bad.al Add testing knowledge: UI handlers, table relations, asserterror, fixtures (P1+P2) (#62) 2026-07-09 10:24:51 +02:00
use-library-codeunits-for-test-fixtures.good.al Add testing knowledge: UI handlers, table relations, asserterror, fixtures (P1+P2) (#62) 2026-07-09 10:24:51 +02:00
use-library-codeunits-for-test-fixtures.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
use-testpage-editable-to-verify-field-editability.bad.al Address Jesper Schulz-Wedde's review on PR #158 2026-09-21 22:34:40 +02:00
use-testpage-editable-to-verify-field-editability.good.al Address Jesper Schulz-Wedde's review on PR #158 2026-09-21 22:34:40 +02:00
use-testpage-editable-to-verify-field-editability.md Fix remaining correctness issues from Jesper's 2026-09-15 re-review 2026-09-21 22:35:42 +02:00
use-testpage-visible-enabled-to-verify-field-ui-state.bad.al Add 3 more AL/BC patterns from CURABIS Academy testing course material 2026-09-21 22:34:40 +02:00
use-testpage-visible-enabled-to-verify-field-ui-state.good.al Address Jesper Schulz-Wedde's review on PR #158 2026-09-21 22:34:40 +02:00
use-testpage-visible-enabled-to-verify-field-ui-state.md Fix remaining correctness issues from Jesper's 2026-09-15 re-review 2026-09-21 22:35:42 +02:00