mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-10-05 14:46:55 +01:00
- 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). |
||
|---|---|---|
| .. | ||
| check-blocked-in-referencing-code-not-in-master.bad.al | ||
| check-blocked-in-referencing-code-not-in-master.good.al | ||
| check-blocked-in-referencing-code-not-in-master.md | ||
| initialize-document-defaults-in-initrecord.bad.al | ||
| initialize-document-defaults-in-initrecord.good.al | ||
| initialize-document-defaults-in-initrecord.md | ||
| insert-only-transfer-may-rely-on-caller-cleanup.md | ||
| item-ledger-entry-document-no-follows-last-shipping-no.bad.al | ||
| item-ledger-entry-document-no-follows-last-shipping-no.good.al | ||
| item-ledger-entry-document-no-follows-last-shipping-no.md | ||
| master-table-no-from-number-series-in-oninsert.bad.al | ||
| master-table-no-from-number-series-in-oninsert.good.al | ||
| master-table-no-from-number-series-in-oninsert.md | ||
| owning-table-must-delete-dependents-in-ondelete.bad.al | ||
| owning-table-must-delete-dependents-in-ondelete.good.al | ||
| owning-table-must-delete-dependents-in-ondelete.md | ||
| round-direction-symbols-use-magnitude.bad.al | ||
| round-direction-symbols-use-magnitude.good.al | ||
| round-direction-symbols-use-magnitude.md | ||
| set-last-date-modified-in-onmodify-and-onrename.bad.al | ||
| set-last-date-modified-in-onmodify-and-onrename.good.al | ||
| set-last-date-modified-in-onmodify-and-onrename.md | ||
| setup-table-is-a-singleton.bad.al | ||
| setup-table-is-a-singleton.good.al | ||
| setup-table-is-a-singleton.md | ||
| share-mediaset-items-with-insert-not-field-assignment.bad.al | ||
| share-mediaset-items-with-insert-not-field-assignment.good.al | ||
| share-mediaset-items-with-insert-not-field-assignment.md | ||
| table-relation-extensions-are-additive-and-top-down.bad.al | ||
| table-relation-extensions-are-additive-and-top-down.good.al | ||
| table-relation-extensions-are-additive-and-top-down.md | ||
| transferfields-skip-type-mismatch-can-drop-data.bad.al | ||
| transferfields-skip-type-mismatch-can-drop-data.good.al | ||
| transferfields-skip-type-mismatch-can-drop-data.md | ||
| use-no-series-codeunit-not-noseriesmanagement.bad.al | ||
| use-no-series-codeunit-not-noseriesmanagement.good.al | ||
| use-no-series-codeunit-not-noseriesmanagement.md | ||
| validate-table-relation-false-suppresses-rename-propagation.bad.al | ||
| validate-table-relation-false-suppresses-rename-propagation.good.al | ||
| validate-table-relation-false-suppresses-rename-propagation.md | ||
| xrec-is-a-before-image-only-in-some-triggers.bad.al | ||
| xrec-is-a-before-image-only-in-some-triggers.good.al | ||
| xrec-is-a-before-image-only-in-some-triggers.md | ||