Normalize storage route shell

This commit is contained in:
rcourtman 2026-03-20 21:05:48 +00:00
parent 6d54ffb18e
commit 47eb1316b3
9 changed files with 102 additions and 19 deletions

View file

@ -978,12 +978,31 @@ class CanonicalCompletionGuardTest(unittest.TestCase):
"frontend-modern/src/features/storageBackups/__tests__/storageModelCore.test.ts",
"frontend-modern/src/features/storageBackups/__tests__/storagePagePresentation.test.ts",
"frontend-modern/src/features/storageBackups/__tests__/storagePoolsTablePresentation.test.ts",
"frontend-modern/src/pages/__tests__/Storage.helpers.test.ts",
"frontend-modern/src/utils/__tests__/frontendResourceTypeBoundaries.test.ts",
],
}
],
)
def test_storage_page_route_change_requires_storage_recovery_contract(self):
required = infer_impacted_subsystems(["frontend-modern/src/pages/Storage.tsx"])
self.assertEqual(set(required), {"storage-recovery"})
recovery = required["storage-recovery"]
self.assertEqual(
recovery["contract"],
"docs/release-control/v6/internal/subsystems/storage-recovery.md",
)
self.assertEqual(
recovery["touched_runtime_files"],
["frontend-modern/src/pages/Storage.tsx"],
)
self.assertEqual(
recovery["verification_requirements"][0]["id"],
"storage-product-surface",
)
def test_recovery_types_change_requires_storage_recovery_contract(self):
required = infer_impacted_subsystems(["frontend-modern/src/types/recovery.ts"])
self.assertEqual(set(required), {"storage-recovery"})

View file

@ -333,10 +333,32 @@ class SubsystemLookupTest(unittest.TestCase):
"frontend-modern/src/features/storageBackups/__tests__/storageModelCore.test.ts",
"frontend-modern/src/features/storageBackups/__tests__/storagePagePresentation.test.ts",
"frontend-modern/src/features/storageBackups/__tests__/storagePoolsTablePresentation.test.ts",
"frontend-modern/src/pages/__tests__/Storage.helpers.test.ts",
"frontend-modern/src/utils/__tests__/frontendResourceTypeBoundaries.test.ts",
],
)
def test_lookup_paths_assigns_storage_page_to_storage_recovery(self) -> None:
result = lookup_paths(["frontend-modern/src/pages/Storage.tsx"])
self.assertEqual(result["unowned_runtime_files"], [])
self.assertEqual(
{item["subsystem"] for item in result["impacted_subsystems"]},
{"storage-recovery"},
)
file_entry = result["files"][0]
self.assertEqual(file_entry["classification"], "runtime")
self.assertEqual(
{match["subsystem"] for match in file_entry["matches"]},
{"storage-recovery"},
)
match = file_entry["matches"][0]
self.assertEqual(
match["contract"],
"docs/release-control/v6/internal/subsystems/storage-recovery.md",
)
self.assertEqual(match["lane_context"]["lane_id"], "L15")
self.assertEqual(match["verification_requirement"]["id"], "storage-product-surface")
def test_lookup_paths_assigns_recovery_types_to_storage_recovery(self) -> None:
result = lookup_paths(["frontend-modern/src/types/recovery.ts"])
self.assertEqual(result["unowned_runtime_files"], [])