presseportale/tests/Feature/Billing
Kevin Adametz bae8347f6c security: Sicherheitsaudit 07.10.2026 (S-01–S-06) behoben, Passkeys und Zweitfaktor-Pflicht für Admins
Audit: dev/sicherheit/SICHERHEITSAUDIT-2026-10-07.md, Plan und Entscheidungen:
dev/sicherheit/ENTWICKLUNGSPLAN-SICHERHEIT-2026-10-07.md.

- S-01 Legacy-Rechnungen fremder Kunden nur mit billing:manage (auch Kundenroute).
- S-02 Kontaktzuordnung auf der Firmenanzeige verlangt companies:write, $id gesperrt.
- S-03 CompanyMembershipObserver: automatische Firmenrechte werden bei jeder
  Adress-/Zuordnungsänderung sofort neu bewertet; memberships:resync-auto.
- S-04 Passwortwechsel beendet alle anderen Sessions (PasswordChanger), Reset
  alle Sessions und offene Login-Links; Fortify PUT /user/password abgeschaltet.
  API-Tokens bleiben bestehen.
- S-05 Google: email_verified Pflicht, feste Bindung über die Provider-ID;
  Erstverknüpfung bestehender Konten außerhalb gmail/hd nur per Bestätigungslink
  in derselben Browser-Session.
- S-06 Frischer Identitätsnachweis (Passwort, App-Code, E-Mail-Code oder
  Passkey) vor E-Mail-Wechsel, erster 2FA-Einrichtung und Token-Erzeugung;
  Hinweis-Mails an die (bisherige) Kontoadresse.
- Entscheidung 5: Passkeys (Fortify, @laravel/passkeys) für alle; Super-Admins
  und Admins bestätigen die Session für den Admin-Bereich per Passkey oder
  App-Code (EnsureStrongAdminAuthentication, Notfallschalter
  AUTH_REQUIRE_STRONG_ADMIN); Reset des zweiten Faktors durch Super-Admins.

Neue Migration: create_passkeys_table. Suite 2.403 grün (1 übersprungen),
Larastan ohne Meldung.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 16:09:35 +00:00
..
AdminPaymentsPageTest.php livewire: Volt entfernt — Komponenten als Livewire-4-Single-File-Components, Route::livewire(), Livewire::test(); livewire/volt deinstalliert 2026-10-06 13:59:36 +00:00
AdminPlansPageTest.php livewire: Volt entfernt — Komponenten als Livewire-4-Single-File-Components, Route::livewire(), Livewire::test(); livewire/volt deinstalliert 2026-10-06 13:59:36 +00:00
BillingModelsTest.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
BookingsPageTest.php livewire: Volt entfernt — Komponenten als Livewire-4-Single-File-Components, Route::livewire(), Livewire::test(); livewire/volt deinstalliert 2026-10-06 13:59:36 +00:00
ChangeCheckoutTest.php recht: Meldeverfahren v2 Phasen 5+7 — DSGVO-Strukturformular, 10-€-Checkout mit KI-Vorprüfung, Triage & Panel-Modal 2026-07-23 13:02:57 +00:00
CheckoutFlowTest.php Downgrades ohne Gutschrift: Tarifwechsel nach unten erst zum Periodenende 2026-07-07 13:38:57 +00:00
DepublicationTest.php livewire: Volt entfernt — Komponenten als Livewire-4-Single-File-Components, Route::livewire(), Livewire::test(); livewire/volt deinstalliert 2026-10-06 13:59:36 +00:00
ExpireGrandfatheringTest.php press-releases/jobs: Scheduler respektiert manuelle Prüfung und kommt an Blockaden vorbei, Newsletter-Versand per Schalter gesperrt, kurze Scheduler-Sperren (Umsetzungsaudit 29.09.: K-01, K-02, K-05, K-06, K-09, E9, OPT-8, OPT-9; 02.10.: O06) 2026-10-02 13:09:00 +00:00
GrandfatherLegacySubscriptionsTest.php billing: MAN-Rechnungen fuer Ueberweisungskunden bearbeiten, hold-Altlast bereinigen 2026-09-16 10:56:29 +00:00
HasActiveBookingTest.php Fix: Bestandsschutz ohne explizites Vertragsende zaehlte nie als aktiv 2026-07-06 11:40:39 +00:00
InvoiceDeliveryTest.php billing: Rechnungsversand — PDF im Anhang der Zahlungsmail, optionale Rechnungs-E-Mail, Stripe-Rechnungs-PDF direkt aus dem Kundenbereich 2026-10-06 14:47:49 +00:00
InvoiceNumberGeneratorTest.php Optimierung Phase 0: Korrektheit & Security 2026-06-19 08:09:02 +00:00
LegacyBillingAddressImportTest.php Rechnungsadressen der Bestandskunden aus dem Legacy-Archiv uebernehmen 2026-07-06 12:19:50 +00:00
LegacyBundleTest.php livewire: Volt entfernt — Komponenten als Livewire-4-Single-File-Components, Route::livewire(), Livewire::test(); livewire/volt deinstalliert 2026-10-06 13:59:36 +00:00
LegacyInvoiceAccessTest.php security: Sicherheitsaudit 07.10.2026 (S-01–S-06) behoben, Passkeys und Zweitfaktor-Pflicht für Admins 2026-10-07 16:09:35 +00:00
LegacySettleUnpaidCommandTest.php reports: Kohortenalter ab Stichtag statt ab --to; legacy:settle-unpaid kennt bereits ersetzte Quellen; dev: Basiswert 0.1 vom Live-System ausgewertet 2026-09-21 15:32:32 +00:00
ManualInvoiceDunningTest.php billing: Rechnungsversand — PDF im Anhang der Zahlungsmail, optionale Rechnungs-E-Mail, Stripe-Rechnungs-PDF direkt aus dem Kundenbereich 2026-10-06 14:47:49 +00:00
ManualInvoiceGenerationTest.php billing/dev: Vertragsende in der MAN-Abrechnung, Rechnungslauf ohne Tageskappe, Qualitätsgates (Audit Block 5+6, Deploy E) 2026-09-18 10:41:04 +00:00
ManualInvoicePdfTest.php tests: Titel in der MAN-PDF-Adresse festlegen 2026-09-18 10:56:14 +00:00
StripeCustomerHooksTest.php billing: Stripe-Belege auf Deutsch und sprechende Produktnamen 2026-07-15 15:25:07 +00:00
StripeWebhookProcessingTest.php billing: Rechnungsversand — PDF im Anhang der Zahlungsmail, optionale Rechnungs-E-Mail, Stripe-Rechnungs-PDF direkt aus dem Kundenbereich 2026-10-06 14:47:49 +00:00
VatIdValidationServiceTest.php performance: Caching, deferred Tracking & externe Timeouts (H7, M12, M13) 2026-07-14 13:49:47 +00:00
VatResolverTest.php Optimierung 3.5: Kleinere Zentralisierungen (VAT, findByEmail, Waehrung, Provisioning) 2026-06-19 11:14:05 +00:00