TenantAtlas/apps/platform/tests/Feature
ahmido e15d80cca5
Some checks failed
Main Confidence / confidence (push) Failing after 48s
Heavy Governance Lane / heavy-governance (push) Has been skipped
Browser Lane / browser (push) Has been skipped
feat: implement findings notifications escalation (#261)
## Summary
- implement Spec 224 findings notifications and escalation v1 on top of the existing alerts and Filament database notification infrastructure
- add finding assignment, reopen, due soon, and overdue event handling with direct recipient routing, dedupe, and optional external alert fan-out
- extend alert rule and alert delivery surfaces plus add the Spec 224 planning bundle and candidate-list promotion cleanup

## Validation
- `cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent`
- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Findings/FindingsNotificationEventTest.php tests/Feature/Findings/FindingsNotificationRoutingTest.php`
- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Alerts/FindingsAlertRuleIntegrationTest.php tests/Feature/Alerts/SlaDueAlertTest.php tests/Feature/Notifications/FindingNotificationLinkTest.php`

## Filament / Platform Notes
- Livewire v4.0+ compliance is preserved
- provider registration remains unchanged in `apps/platform/bootstrap/providers.php`
- no globally searchable resource behavior changed in this feature
- no new destructive action was introduced
- asset strategy is unchanged and the existing `cd apps/platform && php artisan filament:assets` deploy step remains sufficient

## Manual Smoke Note
- integrated-browser smoke testing confirmed the new alert rule event options, notification drawer entries, alert delivery history row, and tenant finding detail route on the active Sail host
- local notification deep links currently resolve from `APP_URL`, so a local `localhost` vs `127.0.0.1:8081` host mismatch can break the browser session if the app is opened on a different host/port combination

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #261
2026-04-22 00:54:38 +00:00
..
078 Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
090 Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
144 Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
Alerts feat: implement findings notifications escalation (#261) 2026-04-22 00:54:38 +00:00
Audit feat: implement spec 198 monitoring page state contract (#238) 2026-04-15 21:59:42 +00:00
Auth feat: harden governance action semantics (#229) 2026-04-12 21:21:44 +00:00
Authorization feat: add findings intake queue and stabilize follow-up regressions (#260) 2026-04-21 22:54:08 +00:00
BackupScheduling Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BackupSets feat(219): Finding ownership semantics + LEAN-001 constitution + backup_set unification (#256) 2026-04-20 17:54:33 +00:00
Badges Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BaselineDriftEngine Spec 207: implement shared test fixture slimming (#240) 2026-04-16 17:29:25 +00:00
Baselines Refactor: remove compare job legacy drift path (#235) 2026-04-14 21:54:37 +00:00
Concerns feat: add governance run summaries (#257) 2026-04-20 20:46:09 +00:00
Console Spec 207: implement shared test fixture slimming (#240) 2026-04-16 17:29:25 +00:00
Dashboard feat: add findings operator inbox (#258) 2026-04-21 09:19:54 +00:00
Database Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
Directory feat: unify provider-backed action dispatch gating (#255) 2026-04-20 06:52:38 +00:00
DirectoryGroups feat: unify provider-backed action dispatch gating (#255) 2026-04-20 06:52:38 +00:00
Drift Spec 197: standardize shared detail family contracts (#237) 2026-04-15 09:51:42 +00:00
EntraAdminRoles Spec 206: implement test suite governance foundation (#239) 2026-04-16 13:58:50 +00:00
Evidence feat: compress governance operator outcomes (#253) 2026-04-19 12:30:36 +00:00
Filament feat: add findings operator inbox (#258) 2026-04-21 09:19:54 +00:00
Findings feat: implement findings notifications escalation (#261) 2026-04-22 00:54:38 +00:00
Graph Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
Guards feat: unify provider-backed action dispatch gating (#255) 2026-04-20 06:52:38 +00:00
Hardening Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
Intune Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
Inventory Spec 188: canonical provider connection state cleanup (#219) 2026-04-10 11:22:56 +00:00
Jobs Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
ManagedTenants feat: unify provider-backed action dispatch gating (#255) 2026-04-20 06:52:38 +00:00
Models feat: harden governance action semantics (#229) 2026-04-12 21:21:44 +00:00
Monitoring feat: add governance run summaries (#257) 2026-04-20 20:46:09 +00:00
Navigation feat(219): Finding ownership semantics + LEAN-001 constitution + backup_set unification (#256) 2026-04-20 17:54:33 +00:00
Notifications feat: implement findings notifications escalation (#261) 2026-04-22 00:54:38 +00:00
Onboarding feat: unify provider-backed action dispatch gating (#255) 2026-04-20 06:52:38 +00:00
Operations feat(219): Finding ownership semantics + LEAN-001 constitution + backup_set unification (#256) 2026-04-20 17:54:33 +00:00
OpsUx feat(219): Finding ownership semantics + LEAN-001 constitution + backup_set unification (#256) 2026-04-20 17:54:33 +00:00
PermissionPosture Spec 206: implement test suite governance foundation (#239) 2026-04-16 13:58:50 +00:00
PlatformRelocation Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
ProviderConnections feat: unify provider-backed action dispatch gating (#255) 2026-04-20 06:52:38 +00:00
Providers Spec 188: canonical provider connection state cleanup (#219) 2026-04-10 11:22:56 +00:00
Rbac feat(219): Finding ownership semantics + LEAN-001 constitution + backup_set unification (#256) 2026-04-20 17:54:33 +00:00
ReasonTranslation Spec 204: harden platform core vocabulary (#234) 2026-04-14 06:09:42 +00:00
RequiredPermissions Spec 206: implement test suite governance foundation (#239) 2026-04-16 13:58:50 +00:00
Restore feat: unify provider-backed action dispatch gating (#255) 2026-04-20 06:52:38 +00:00
Retention Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
ReviewPack feat: compress governance operator outcomes (#253) 2026-04-19 12:30:36 +00:00
Scheduling Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
Seed Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
SettingsFoundation Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
Spec085 Spec 197: standardize shared detail family contracts (#237) 2026-04-15 09:51:42 +00:00
Support Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
System feat: close spec 195 action surface residuals (#230) 2026-04-13 07:47:58 +00:00
TenantRBAC feat: unify provider-backed action dispatch gating (#255) 2026-04-20 06:52:38 +00:00
TenantReview feat: compress governance operator outcomes (#253) 2026-04-19 12:30:36 +00:00
Tenants feat: unify provider-backed action dispatch gating (#255) 2026-04-20 06:52:38 +00:00
Theme Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
Verification feat: implement spec 198 monitoring page state contract (#238) 2026-04-15 21:59:42 +00:00
WorkspaceFoundation feat: implement workspace foundation website app (#214) 2026-04-08 12:20:31 +00:00
WorkspaceIsolation Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
Workspaces feat: unify provider-backed action dispatch gating (#255) 2026-04-20 06:52:38 +00:00
AdminConsentCallbackTest.php Spec 188: canonical provider connection state cleanup (#219) 2026-04-10 11:22:56 +00:00
AdminNewRedirectTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BackupItemReaddTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BackupServiceVersionReuseTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BackupWithAssignmentsConsistencyTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkDeleteBackupSetsTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkDeleteMixedStatusTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkDeletePoliciesAsyncTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkDeletePoliciesTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkDeleteRestoreRunsTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkExportFailuresTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkExportToBackupTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkForceDeleteBackupSetsTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkForceDeletePolicyVersionsTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkForceDeleteRestoreRunsTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkProgressNotificationTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkPruneSkipReasonsTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkPruneVersionsTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkRestoreBackupSetsTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkRestorePolicyVersionsTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkRestoreRestoreRunsTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkSyncPoliciesTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkTypeToConfirmTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkUnignorePoliciesTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
DatabaseSeederTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
DependencyExtractionFeatureTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
DependencyQueryServiceTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
DependencyTenantIsolationTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
DeviceComplianceScriptPolicyTypeTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
EndpointSecurityIntentRestoreSanitizationTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
EndpointSecurityPolicyRestore023Test.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
ExampleTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
ExecuteRestoreRunJobTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
FoundationBackupTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
InventoryItemDependenciesTest.php feat: unify provider-backed action dispatch gating (#255) 2026-04-20 06:52:38 +00:00
LivewireInterceptShimTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
ManagedTenantOnboardingWizardTest.php feat: unify provider-backed action dispatch gating (#255) 2026-04-20 06:52:38 +00:00
MonitoringOperationsTest.php Spec 197: standardize shared detail family contracts (#237) 2026-04-15 09:51:42 +00:00
OperationRunServiceStaleQueuedRunTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
OperationRunServiceTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
PolicyCaptureSnapshotIdempotencyTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
PolicyCaptureSnapshotQueuedTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
PolicyGeneralViewTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
PolicySettingsStandardViewTest.php Spec 197: standardize shared detail family contracts (#237) 2026-04-15 09:51:42 +00:00
PolicySyncEnrollmentConfigurationTypeCollisionTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
PolicySyncServiceReportTest.php Spec 188: canonical provider connection state cleanup (#219) 2026-04-10 11:22:56 +00:00
PolicySyncServiceTest.php Spec 188: canonical provider connection state cleanup (#219) 2026-04-10 11:22:56 +00:00
PolicySyncStartSurfaceTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
PolicyTypes017Test.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
PolicyVersionViewAssignmentsTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
ReclassifyEnrollmentConfigurationsCommandTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RestoreAdapterTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RestoreAssignmentApplicationTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RestoreAuditLoggingTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RestoreGraphErrorMetadataTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RestoreGroupMappingTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RestorePreviewDiffWizardTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RestoreRiskChecksWizardTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RestoreRunArchiveGuardTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RestoreRunIdempotencyTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RestoreRunRerunTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RestoreRunWizardExecuteTest.php feat: unify provider-backed action dispatch gating (#255) 2026-04-20 06:52:38 +00:00
RestoreRunWizardMetadataTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RestoreScopeTagMappingTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RestoreUnknownPolicyTypeSafetyTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RunAuthorizationTenantIsolationTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RunStartAuthorizationTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
SettingsCatalogDefinitionResolverTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
Spec080WorkspaceManagedTenantAdminMigrationTest.php Spec 207: implement shared test fixture slimming (#240) 2026-04-16 17:29:25 +00:00
SyncPoliciesJobDispatchTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
SyncPoliciesJobGraphDisabledTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
SyncPoliciesJobSupportedTypesTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
TermsAndConditionsPolicyTypeTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
TrackOperationRunMiddlewareTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
VersionCaptureMetadataOnlyTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
VersionCaptureWithAssignmentsTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00