CluPilotCloud/tests/Feature/Readiness
nexxo d4f534fbbb Interne Pakete gehören nicht nach Stripe
stripe:sync-catalogue überspringt jetzt jede Familie mit internal = true —
weder Produkt noch Preis, im Trockenlauf wie im echten Lauf, und zwar bevor
irgendetwas über sie gelesen oder geschrieben wird. Ein Stripe-Preis lässt
sich nicht löschen, nur archivieren, und ein Paket, das nie über Stripe
abgerechnet wird, gehört deshalb nicht ins Konto. Eine Familie, die bereits
Stripe-IDs trägt (verkäuflich war, jetzt intern ist, wie Enterprise), bleibt
unangetastet: nichts wird gelöscht oder ersetzt, es kommt nur nichts Neues
mehr hinzu.

BillingChecks::billing.catalogue_synced bekam dieselbe Ausnahme — sonst wäre
die Bereitschaftsseite durch genau diese Änderung dauerhaft rot geworden,
weil das interne Testpaket und Enterprise veröffentlicht und sales_enabled
sind, ihre Preise aber nie synchronisiert werden.

AddonPrices, SyncStripeAddonItems, stripe:reprice-subscriptions und
stripe:sweep-orphan-prices wurden geprüft: alle vier sind bereits sicher,
weil ein verschenkter Vertrag nie ein stripe_subscription_id trägt und die
anderen beiden Befehle nur über vorhandene Stripe-Objekte laufen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 18:31:37 +02:00
..
ActiveChecksTest.php Release v1.3.88 — die Vorlage baut sich selbst 2026-08-01 05:01:44 +02:00
BillingChecksTest.php Interne Pakete gehören nicht nach Stripe 2026-08-01 18:31:37 +02:00
DeliveryChecksTest.php Bereitschaft: das Absender-Postfach wird gefragt, ob es senden KANN 2026-07-31 20:35:58 +02:00
HeartbeatTest.php Fix round: guard the parse, bound the future, name the real tab 2026-07-30 14:49:06 +02:00
OnboardingChecksTest.php Put every missing field on one page before a customer pays 2026-07-30 15:59:34 +02:00
ProvisioningChecksTest.php Fix round: read the mailer against NON_DELIVERING, not against 'log' alone 2026-07-30 13:27:14 +02:00
RestartWorkersTest.php Hetzner-Cloud-DNS, Bereitschaftsseite aus sich heraus behebbar 2026-07-31 19:50:01 +02:00