完成40%
This commit is contained in:
@@ -30,7 +30,14 @@ $pages = Get-Content -LiteralPath (Join-Path $root 'pages.json') -Raw -Encoding
|
||||
|
||||
if (Test-Path -LiteralPath $t02Path) { throw 'T02 duplicate route file must be removed' }
|
||||
if ($pages -match 'pages/tree/t02-tree-states') { throw 'T02 duplicate route must be removed from pages.json' }
|
||||
if ($page -match "@/utils/api\.js|\bappApi\b") { throw 'T01 design phase must not connect the API layer' }
|
||||
foreach ($required in @(
|
||||
'appApi.getTree',
|
||||
'createRequestController',
|
||||
'isRequestCancelled',
|
||||
'treeRequestController.abort()',
|
||||
'onShow(() =>',
|
||||
'requestController: treeRequestController'
|
||||
)) { Assert-Contains $page $required "Missing T01 remote data contract: $required" }
|
||||
|
||||
foreach ($required in @(
|
||||
'const treeState = ref("loading")',
|
||||
@@ -59,9 +66,7 @@ foreach ($required in @(
|
||||
'openPage("T06"',
|
||||
'openPage("T07"',
|
||||
'query.genealogyId',
|
||||
'getGenealogyFixtureAccess',
|
||||
'genealogyContext.isCurrentGenealogyInvalidated()',
|
||||
'["owner", "member"].includes(access.accessRole)',
|
||||
':id="`tree-member-${member.id}`"',
|
||||
':scroll-left="treeState === ''tree'' ? treeScrollLeft : 0"',
|
||||
'@scroll="handleTreeScroll"',
|
||||
@@ -73,6 +78,12 @@ foreach ($required in @(
|
||||
'class="tree-recenter"'
|
||||
)) { Assert-Contains $page $required "Missing T01 contract: $required" }
|
||||
|
||||
foreach ($fixtureToken in @('getGenealogyFixtureAccess', 'treeMembers', 'mockTree')) {
|
||||
if ($page -match [regex]::Escape($fixtureToken)) {
|
||||
throw "T01 must not use a fixture as its remote tree source: $fixtureToken"
|
||||
}
|
||||
}
|
||||
|
||||
$invalidatedGuardIndex = $page.IndexOf('genealogyContext.isCurrentGenealogyInvalidated()')
|
||||
$contextWriteIndex = $page.IndexOf('genealogyContext.setCurrentGenealogyId(genealogyId.value)')
|
||||
if ($invalidatedGuardIndex -lt 0 -or $contextWriteIndex -le $invalidatedGuardIndex) {
|
||||
|
||||
Reference in New Issue
Block a user