Files
jiapuapp/tests/f01-product-entry-contract.ps1
T
2026-07-23 08:24:07 +08:00

11 lines
810 B
PowerShell

$ErrorActionPreference = 'Stop'
$root = Split-Path -Parent $PSScriptRoot
$page = Get-Content -LiteralPath (Join-Path $root 'pages/family/f01-family-feed.vue') -Raw -Encoding UTF8
foreach ($route in @('people: "R01"','gifts: "R03"','merits: "R11"','videos: "F10"')) {
if (-not $page.Contains($route)) { throw "F01 product entry missing: $route" }
}
if ($page -match '(?s)\.family-page\s*\{[^}]*overflow:\s*hidden') { throw 'F01 must not clip long page content' }
if (-not $page.Contains('return openPage(routes[key], { genealogyId: genealogyId.value }, "F01");')) { throw 'F01 child routes must preserve genealogy context through the navigation gateway' }
if ($page.Contains('/pages/')) { throw 'F01 must not retain route literals outside the unique registry' }
Write-Output 'F01-PRODUCT-ENTRY-CONTRACT PASS'