mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-10-26 05:29:45 +00:00
Align Recovery verification-policy regression coverage
Keep the seven remaining settings shells under framing proof, and assert transfer-specific membership for Recovery, its dialogs and its flow. Confirm dedicated proofs match and generic settings architecture cannot satisfy transfer safety. This repairs PR 3249's reproducible governance-test failure without changing the guard or weakening the registry. Change-source: pulse-maintainer
This commit is contained in:
@@ -2997,6 +2997,46 @@ None yet.
|
||||
self.assertEqual(requirements[0]["exact_files"], [proof])
|
||||
self.assertFalse(requirements[0]["allow_same_subsystem_tests"])
|
||||
|
||||
def test_configuration_transfer_surfaces_use_their_own_behavioral_proofs(self):
|
||||
rule = next(rule for rule in load_subsystem_rules() if rule["id"] == "frontend-primitives")
|
||||
proofs = [
|
||||
"frontend-modern/src/components/Settings/__tests__/BackupTransferDialogs.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/RecoverySettingsPanel.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/useBackupTransferFlow.test.ts",
|
||||
]
|
||||
for runtime in [
|
||||
"frontend-modern/src/components/Settings/BackupTransferDialogs.tsx",
|
||||
"frontend-modern/src/components/Settings/RecoverySettingsPanel.tsx",
|
||||
"frontend-modern/src/components/Settings/useBackupTransferFlow.ts",
|
||||
]:
|
||||
with self.subTest(runtime=runtime):
|
||||
requirements = build_verification_requirements(rule, [runtime])
|
||||
self.assertEqual(
|
||||
requirements,
|
||||
[{
|
||||
"id": "settings-configuration-transfer",
|
||||
"label": "configuration transfer target and dispatch proof",
|
||||
"touched_runtime_files": [runtime],
|
||||
"allow_same_subsystem_tests": False,
|
||||
"test_prefixes": [],
|
||||
"exact_files": proofs,
|
||||
}],
|
||||
)
|
||||
for proof in proofs:
|
||||
self.assertEqual(
|
||||
staged_verification_files_for_requirement(rule, requirements[0], [proof]),
|
||||
[proof],
|
||||
)
|
||||
# Generic settings framing must not stand in for transfer safety.
|
||||
self.assertEqual(
|
||||
staged_verification_files_for_requirement(
|
||||
rule,
|
||||
requirements[0],
|
||||
["frontend-modern/src/components/Settings/__tests__/settingsArchitecture.test.ts"],
|
||||
),
|
||||
[],
|
||||
)
|
||||
|
||||
def test_frontend_primitive_remaining_settings_shells_use_specific_guardrails(self):
|
||||
rule = next(rule for rule in load_subsystem_rules() if rule["id"] == "frontend-primitives")
|
||||
runtime_files = [
|
||||
@@ -3005,7 +3045,6 @@ None yet.
|
||||
"frontend-modern/src/components/Settings/AuditLogPanel.tsx",
|
||||
"frontend-modern/src/components/Settings/AuditWebhookPanel.tsx",
|
||||
"frontend-modern/src/components/Settings/GeneralSettingsPanel.tsx",
|
||||
"frontend-modern/src/components/Settings/RecoverySettingsPanel.tsx",
|
||||
"frontend-modern/src/components/Settings/SecurityOverviewPanel.tsx",
|
||||
"frontend-modern/src/components/Settings/SSOProvidersPanel.tsx",
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user