mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-10-05 14:46:55 +01:00
Fix four merge-critical blockers from Jesper's review; add 4 more patterns
Addresses microsoft/BCQuality#175 review feedback: - Extend al-data-modeling-review's entry gate/relevance scope and token list to recognize document actions, Navigate subscribers, Report Selection registration, price-calculation/price-source extensibility, TransferFields posting-cascade mirroring, and barcode font-provider usage - previously excluded before any worklist cue could run. - Fix document-print-and-email-actions-call-report-selections-directly: permit the legitimate stateless DocumentSendingProfile.TrySendToPrinter/ TrySendToEMail path; rework the bad fixture to load a configured profile instead of demonstrating a trivial blank-record no-op. - Fix extend-report-selection-usage-for-new-document-types: scope to the applicable single counterparty (ReportSelectionHandlerCZZ partitions strictly; only genuinely two-sided usages like Compensation need both), and add the page-facing usage-enum map/validate events alongside the filter-event subscription for full Document Layouts support. - Fix a stale field-citation in custom-document-dispatch-must-not-bypass- report-selections (Custom Report Layout Code is field 7, not part of the 19-26 email-configuration range). - Add deterministic positive/clean evaluation coverage (review-fixtures.json additionalArticles + Test-ReviewFixtures.ps1 support) so all 9 new good/bad pairs are actually exercised, not just present. - Add 4 new patterns: activate-new-price-calculation-handler-via- onfindsupportedsetup, extend-price-source-type-must-sync-document- subset-enum, new-price-source-must-add-candidate-and-trigger- recalculation, report-barcodes-must-use-barcode-module-and-production- font-name. All claims verified against live microsoft/BCApps source and Microsoft Learn. Validators: frontmatter 0/0, review-fixtures 52 cases/17 domains PASSED, knowledge-index 309 articles PASSED. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
83f041b662
commit
31206f6616
23 changed files with 801 additions and 156 deletions
|
|
@ -245,6 +245,47 @@ foreach ($domain in $leafDomains) {
|
|||
}
|
||||
$caseList.Add($case) | Out-Null
|
||||
}
|
||||
|
||||
if ($override -and ($override.PSObject.Properties.Name -contains 'additionalArticles')) {
|
||||
foreach ($additionalArticleName in @($override.additionalArticles)) {
|
||||
$additionalName = [string]$additionalArticleName
|
||||
if ($additionalName.EndsWith('.md')) {
|
||||
$additionalName = [System.IO.Path]::GetFileNameWithoutExtension($additionalName)
|
||||
}
|
||||
$additionalArticle = $articles | Where-Object BaseName -eq $additionalName | Select-Object -First 1
|
||||
if (-not $additionalArticle) {
|
||||
$articleExists = @(
|
||||
foreach ($layer in $layers) {
|
||||
$articleFile = Join-Path $Root "$($layer.Name)/knowledge/$domain/$additionalName.md"
|
||||
if (Test-Path -LiteralPath $articleFile -PathType Leaf) {
|
||||
$articleFile
|
||||
}
|
||||
}
|
||||
).Count -gt 0
|
||||
if ($articleExists) {
|
||||
$problems.Add("${domain}: additionalArticles entry does not have both .good.al and .bad.al companion samples: $additionalName.md") | Out-Null
|
||||
} else {
|
||||
$problems.Add("${domain}: additionalArticles entry does not exist: $additionalName.md") | Out-Null
|
||||
}
|
||||
continue
|
||||
}
|
||||
if ($additionalArticle.BaseName -eq $selectedArticle.BaseName) {
|
||||
$problems.Add("${domain}: additionalArticles entry duplicates the selected article: $additionalName") | Out-Null
|
||||
continue
|
||||
}
|
||||
$additionalArticlePath = [string]$additionalArticle.ArticlePath
|
||||
$additionalSampleDirectory = (Split-Path -Parent $additionalArticlePath).Replace('\', '/')
|
||||
foreach ($kind in 'bad', 'good') {
|
||||
$additionalCase = [pscustomobject]@{
|
||||
id = "$domain-$kind-$($additionalArticle.BaseName)"
|
||||
domain = $domain
|
||||
input = "$additionalSampleDirectory/$($additionalArticle.BaseName).$kind.al"
|
||||
expected = if ($kind -eq 'bad') { @($additionalArticlePath) } else { @() }
|
||||
}
|
||||
$caseList.Add($additionalCase) | Out-Null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$cases = @($caseList)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue