完成50%
This commit is contained in:
@@ -17,6 +17,11 @@ $t05 = Read-Page 'pages/tree/t05-edit-member.vue'
|
||||
$t06 = Read-Page 'pages/tree/t06-edit-relationship.vue'
|
||||
$t08 = Read-Page 'pages/tree/t08-member-states.vue'
|
||||
|
||||
Assert-Contains $t03 '{{ memberContextDescription }}' 'T03 must render its state-specific context description'
|
||||
if ($t03 -notmatch '(?s)const\s+memberContextDescription\s*=\s*computed\(\(\)\s*=>\s*\(\{\s*loading:\s*"\u6B63\u5728\u8BFB\u53D6\u6210\u5458\u8D44\u6599",\s*detail:\s*"\u6210\u5458\u8EAB\u4EFD\u4E0E\u4EB2\u5C5E\u5173\u7CFB",\s*restricted:\s*"\u9690\u79C1\u6210\u5458\u4EC5\u5C55\u793A\u57FA\u7840\u8EAB\u4EFD",\s*error:\s*"\u8BF7\u91CD\u65B0\u9009\u62E9\u6210\u5458"') {
|
||||
throw 'T03 must keep distinct loading, detail, restricted, and error context copy'
|
||||
}
|
||||
|
||||
foreach ($entry in @(
|
||||
@{ Name = 'T04'; Content = $t04 },
|
||||
@{ Name = 'T05'; Content = $t05 },
|
||||
@@ -41,7 +46,7 @@ foreach ($required in @(
|
||||
'fieldErrors.name',
|
||||
'fieldErrors.relation',
|
||||
'add-state--form',
|
||||
'add-state--success',
|
||||
'add-state--preview',
|
||||
'add-state--error',
|
||||
'class="add-relative-form"',
|
||||
'<picker',
|
||||
@@ -56,12 +61,12 @@ if ($t04PanelStyle -match '\bmin-height\s*:') {
|
||||
foreach ($required in @(
|
||||
'const editState = ref("form")',
|
||||
'const editForm = reactive({',
|
||||
'const memberFixtures = {',
|
||||
'findTreeMemberPresentationFixture(genealogyId.value, id)',
|
||||
'const isDirty = computed(',
|
||||
'const discardDialogVisible = ref(false)',
|
||||
'query.personId',
|
||||
'edit-state--form',
|
||||
'edit-state--success',
|
||||
'edit-state--preview',
|
||||
'edit-state--error',
|
||||
'edit-state--no-permission',
|
||||
'class="edit-member-form"',
|
||||
@@ -77,13 +82,13 @@ if ($t05PanelStyle -match '\bmin-height\s*:') {
|
||||
foreach ($required in @(
|
||||
'const relationshipState = ref("form")',
|
||||
'const relationshipForm = reactive({',
|
||||
'const memberOptions = [',
|
||||
'const memberOptions = computed(',
|
||||
'const relationshipOptions = [',
|
||||
'const relationshipPreview = computed(',
|
||||
'const validateRelationship = () =>',
|
||||
'query.personId',
|
||||
'relationship-state--form',
|
||||
'relationship-state--success',
|
||||
'relationship-state--preview',
|
||||
'relationship-state--conflict',
|
||||
'relationship-state--error',
|
||||
'class="relationship-form"',
|
||||
@@ -100,7 +105,7 @@ foreach ($required in @(
|
||||
'const genealogyId = ref("")',
|
||||
'const personId = ref("")',
|
||||
'const statusState = ref("loading")',
|
||||
'const memberFixtures = {',
|
||||
'findTreeMemberPresentationFixture(genealogyId.value, personId.value)',
|
||||
'query.personId',
|
||||
'query.state',
|
||||
'member-status--privacy',
|
||||
@@ -114,12 +119,10 @@ if ($t08 -match 'class="status-tabs"|const\s+tabs\s*=|@click="statusState\s*=')
|
||||
}
|
||||
|
||||
foreach ($required in @(
|
||||
'const memberFixtures = {',
|
||||
'findTreeMemberPresentationFixture(genealogyId.value, normalizedPersonId)',
|
||||
'query.personId',
|
||||
'const openMemberState = (state) =>',
|
||||
'/pages/tree/t08-member-states?genealogyId=',
|
||||
'&personId=',
|
||||
'&state='
|
||||
'const openMemberState = () =>',
|
||||
'openPage("T08", { genealogyId: genealogyId.value, personId: personId.value }, "T03")'
|
||||
)) { Assert-Contains $t03 $required "T03 missing semantic member-state entry: $required" }
|
||||
|
||||
Write-Output 'T03-T08-BUSINESS-SPECIALIZATION-CONTRACT PASS'
|
||||
|
||||
Reference in New Issue
Block a user