presseportale/tests/Feature/Admin
Kevin Adametz a7f991f01e newsletter: jeden Empfänger genau einmal, atomarer Start, Wiederanlauf (Audit Block 2, Deploy B)
F05: chunkById hinter der created_at-Sortierung der Vorschau las ab der
zweiten Seite Empfänger doppelt und ließ die übrigen aus. Auf der Dev-
Kopie erreichte eine Kampagne an 59.705 Nutzer 500 Adressen, davon 480
doppelt. Die Sortierung wird vor dem ID-Chunking verworfen (E4: die
Versandreihenfolge hat keine fachliche Bedeutung), ein Unique-Index auf
(Kampagne, User) fängt jede weitere Doppelung ab; die Migration räumt
vorhandene Doppelungen vorher weg (auf der Dev-Kopie 470 Zeilen).

F14: Der Start übernimmt den Entwurf per bedingtem UPDATE draft→sending;
nur der Gewinner friert Empfänger ein (insertOrIgnore) und plant Jobs
aus dem Protokoll ein. Abbruch beim Einfrieren gibt den Entwurf frei.

F15: Der Versandjob beansprucht die Zeile pending→sending, schreibt
Empfängerstatus, Zähler und Kampagnenabschluss in einer Transaktion und
gibt den Claim bei Versandfehler zurück. Tries und Backoff am Job.
Zusatzbefund: Adressen auf der Sperrliste galten als „gesendet“, weil der
Rückgabewert von Mail::send nicht ausgewertet wurde — jetzt Status
„suppressed“ ohne Zähler.

Neu: php artisan newsletter:resume {kampagne} [--failed]
[--stuck-minutes=30] plant ausstehende Empfänger einer laufenden
Kampagne neu ein; der Circuit-Breaker-Hinweis nennt ihn statt
queue:retry, das Newsletter-Empfänger nicht nachholt.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-18 10:19:28 +00:00
..
AdminCategoryManagementTest.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
AdminFooterCodeManagementTest.php 19-05-2026 Rebrand Pressekonto, Hub-Flux UI und Legacy-Media-Migration 2026-05-19 16:36:13 +00:00
AdminGrantTest.php auth: Firmenrechte nur aus nachgewiesener Adresse, 2FA auf allen Login-Wegen (Audit Block 1, Deploy A) 2026-09-18 10:08:55 +00:00
AdminKiCheckTest.php mail: Kontakterreichbarkeit - Formpruefung, Domainpruefung, Einlieferer-Bericht 2026-09-16 09:22:39 +00:00
AdminLegacyInvoiceArchiveTest.php billing: MAN-Rechnungen fuer Ueberweisungskunden bearbeiten, hold-Altlast bereinigen 2026-09-16 10:56:29 +00:00
AdminPerformanceCacheTest.php Optimierung 5.1: Tabellen-Concerns (Sortierung, Volltext-Heuristik, Stats) 2026-06-19 12:36:48 +00:00
AdminPresetManagementTest.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
AdminPressReleaseActionsTest.php press-releases: Publish-Rechte, Quota-Races & Slug vereinheitlichen 2026-07-14 13:47:51 +00:00
AdminPressReleaseFormFieldsTest.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
AdminPressReleaseSchedulingTest.php Zeitzone Europe/Berlin: unnoetige UTC-Konvertierung entfernt 2026-06-18 12:40:19 +00:00
AdminPressReleaseShowTest.php admin: PM-Detailseite verlinkt Firma, Autor und Firmen-Benutzer 2026-07-21 08:48:22 +00:00
AdminPrivilegeEscalationTest.php security: Rechteausweitung schließen & Admin-Panel feingranular gaten (K1, H1, H2, M8) 2026-07-14 13:48:50 +00:00
AdminSlowRequestLoggingTest.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
AdminSlowRequestReportTest.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
CategoryIndexPerformanceTest.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
CompanyPortalRestrictionTest.php Backend-WIP: Kontakt-Queue, Page-Cache, Validierungs-Feedback, i18n 2026-07-09 15:38:11 +00:00
ContactMessagesAdminTest.php Backend-WIP: Kontakt-Queue, Page-Cache, Validierungs-Feedback, i18n 2026-07-09 15:38:11 +00:00
EditorPermissionBoundaryTest.php security: Rechteausweitung schließen & Admin-Panel feingranular gaten (K1, H1, H2, M8) 2026-07-14 13:48:50 +00:00
NewsletterCampaignResilienceTest.php newsletter: jeden Empfänger genau einmal, atomarer Start, Wiederanlauf (Audit Block 2, Deploy B) 2026-09-18 10:19:28 +00:00
NewsletterCampaignTest.php admin: Newsletter mit Abmelde-Liste, Follow-up-Filtern und gedrosseltem Versand 2026-07-22 12:38:47 +00:00
PortalAssetManifestTest.php 19-05-2026 Rebrand Pressekonto, Hub-Flux UI und Legacy-Media-Migration 2026-05-19 16:36:13 +00:00
RoleManagementTest.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
SystemHealthTest.php admin: Betriebsüberwachung im Backend (Queue-Worker & Deployment-Checks) 2026-07-14 13:49:57 +00:00
TerminationRequestsAdminTest.php Recht: Kuendigungsbutton nach Par. 312k BGB - Backend + Admin-Queue 2026-07-03 11:32:43 +00:00
UserImpersonationTest.php security: Rechteausweitung schließen & Admin-Panel feingranular gaten (K1, H1, H2, M8) 2026-07-14 13:48:50 +00:00
UserManagementTest.php admin: Benutzer-Übersicht verlinkt die Detailseite zusätzlich zur Schnellansicht 2026-07-21 13:34:02 +00:00
WithdrawalRequestsAdminTest.php Admin: Widerrufe laufen in der Recht-&-Compliance-Queue auf 2026-07-03 10:29:32 +00:00