18 lines
985 B
PowerShell
18 lines
985 B
PowerShell
$ErrorActionPreference = 'Stop'
|
|
$page = Get-Content -Raw 'pages/genealogy/g01-my-genealogies.vue'
|
|
|
|
function Assert-Contains([string]$Content, [string]$Pattern, [string]$Message) {
|
|
if (-not $Content.Contains($Pattern)) { throw $Message }
|
|
}
|
|
|
|
Assert-Contains $page 'v-for="item in visibleShortcuts"' 'G01 must render the membership-filtered shortcut list'
|
|
Assert-Contains $page '{{ currentRoleLabel }}' 'G01 must render the membership-derived role label'
|
|
Assert-Contains $page 'getGenealogyFixtureAccess(currentGenealogy.value?.id).accessRole' 'G01 must consume the shared fixture access resolver'
|
|
Assert-Contains $page 'item.key !== "applications"' 'G01 must remove application review for joined members'
|
|
$selectedBinding = ':selected="item.id === currentGenealogy.id"'
|
|
if (([regex]::Matches($page, [regex]::Escape($selectedBinding))).Count -ne 2) {
|
|
throw 'G01 created and joined groups must render the same current-genealogy state'
|
|
}
|
|
|
|
Write-Output 'G01-ROLE-SHORTCUT-CONTRACT PASS'
|