add tests batch 20

This commit is contained in:
root
2026-06-09 01:03:53 -04:00
parent 95efb9652e
commit 6be4875c5e
1502 changed files with 13797 additions and 11313 deletions
@@ -0,0 +1,32 @@
<?php
namespace Tests\Feature\Api\V1\FullSurface;
use Tests\Feature\Api\V1\FullSurface\Support\FullSurfaceE2EContractCase;
class ApiBatch19OperationalAndPrivacyInvariantRegisterTest extends FullSurfaceE2EContractCase
{
public function test_batch19_operational_and_privacy_route_families_remain_present(): void
{
$families = [
'ABAC and policy conditions' => ['roles', 'permissions', 'admin', 'students'],
'nested relationship redaction' => ['students', 'parents', 'family', 'reports'],
'append-only audit ledger' => ['audit', 'logs', 'ledger', 'history'],
'payment allocation and settlement' => ['payments', 'invoices', 'refund', 'transaction'],
'attendance excuses and custody' => ['attendance', 'excuse', 'dismissal', 'guardian'],
'class transfers and substitutes' => ['transfer', 'classes', 'teacher', 'coverage'],
'communication suppression webhooks' => ['webhook', 'email', 'notification', 'unsubscribe'],
'external sync canonicalization' => ['sync', 'import', 'external', 'provider'],
'temporary URL file safety' => ['download', 'file', 'media', 'signed'],
'operational backup isolation' => ['backup', 'restore', 'maintenance', 'settings'],
];
foreach ($families as $label => $needles) {
$this->assertNotEmpty(
$this->apiRoutesContainingAny($needles),
'Batch 19 invariant family missing or renamed without updating risk register: '.$label
);
}
}
}