nimuli/tests/Feature
boban fa9985cc33 feat: modal infrastructure + 11 modals (links, team, settings, workspace)
wire-elements/modal v3 integration:
- Replace custom Alpine modal-container with <livewire:livewire-ui-modal />
- Customize vendor modal view with design tokens (bg-s1, dark overlay, smooth transitions)
- All modals extend ModalComponent, use $this->closeModal()

Modals built (PHP + Blade view + tests):
- ConfirmAction — reusable danger confirm with custom event dispatch
- CreateLink, EditLink, DeleteLink — full CRUD with workspace isolation
- InviteMember, EditMemberRole, RemoveMember — team management
- CreateApiToken, RevokeApiToken — Sanctum token lifecycle
- CreateWebhook, DeleteWebhook — webhook CRUD
- CreateWorkspace (uses CreateWorkspaceAction), DeleteWorkspace (confirmation input)

Fixes:
- Remove SoftDeletes from Webhook model (table has no deleted_at column)
- Auto-generate webhook secret when user leaves field empty
- Use correct role enum: owner/admin/editor/viewer (not member)
- Protected Livewire model properties replaced with re-query pattern
- Sidebar "New Workspace" button now dispatches openModal

Tests: 105/105 passing, 211 assertions

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-16 12:41:14 +02:00
..
Analytics feat(analytics): click recording job with IP hashing, device detection, Redis counters 2026-05-16 00:56:52 +02:00
Api/V1 fix(quality): PHPStan level 6 compliance, Pint formatting 2026-05-16 08:28:10 +02:00
Auth fix: tests green + logout route + smoke test 2026-05-16 11:57:32 +02:00
Billing fix(quality): PHPStan level 6 compliance, Pint formatting 2026-05-16 08:28:10 +02:00
Domain feat(domains): Domain model, DNS TXT verification action, pending verifier job 2026-05-16 08:14:33 +02:00
Livewire feat: modal infrastructure + 11 modals (links, team, settings, workspace) 2026-05-16 12:41:14 +02:00
Redirect feat(redirect): hot-path redirect controller with Redis cache, 302/404/410 2026-05-16 00:52:16 +02:00
Security test(security): assert Permissions-Policy header 2026-05-16 07:52:20 +02:00
Settings feat(auth): TOTP 2FA enable/disable with recovery codes 2026-05-16 08:08:31 +02:00
Translation fix(i18n): remove stale redis del pattern, drop dead singleton 2026-05-16 01:29:45 +02:00
Webhook feat(webhooks): outgoing webhooks with HMAC signature, SSRF protection, retry 2026-05-16 07:46:57 +02:00
Workspace feat(workspace): create action, middleware, policies 2026-05-16 00:41:32 +02:00
ExampleTest.php feat: initial Nimuli scaffold with Laravel 12, Livewire 3, Octane, Reverb, Docker 2026-05-15 23:51:57 +02:00
ProfileTest.php fix: tests green + logout route + smoke test 2026-05-16 11:57:32 +02:00