CluPilotCloud/tests/Feature
nexxo d26200c74b
tests / pest (push) Successful in 7m10s Details
tests / assets (push) Successful in 20s Details
tests / release (push) Has been skipped Details
feat(billing): a cart you can actually read and change
"5 purchases pending" told nobody what they had ordered and offered no way to
change their mind. The billing page now lists each pending purchase by name,
what it costs, when it was added, and the total — with a remove button per row
behind a confirmation, like every other destructive action in the console.

The wording lives on the Order model rather than in the view, so the cart, the
invoice list and any later confirmation mail cannot each invent their own name
for the same row. Removal is scoped to the customer's own still-pending orders,
checked in the modal itself: modals are reachable without the page's guards.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-26 05:26:49 +02:00
..
Admin fix(vpn): a late revocation must not disconnect whoever holds the key now 2026-07-26 01:24:55 +02:00
Auth fix(auth): throttle Fortify endpoints (registration had no limiter — signup-spam guard) 2026-07-25 18:38:44 +02:00
Provisioning fix(hosts): re-read the host before deciding there is no DNS record 2026-07-26 00:02:18 +02:00
BillingTest.php feat(portal): billing page — current plan, upgrades, extra storage, add-ons 2026-07-25 13:36:52 +02:00
CartTest.php feat(billing): a cart you can actually read and change 2026-07-26 05:26:49 +02:00
ComponentTest.php feat(portal): Fortify auth + Login/2FA/Dashboard + component kit 2026-07-25 01:20:25 +02:00
DashboardTest.php feat(portal): Fortify auth + Login/2FA/Dashboard + component kit 2026-07-25 01:20:25 +02:00
ExampleTest.php chore: bootstrap CluPilot control-plane (Laravel 13, Docker stack) 2026-07-25 00:21:30 +02:00
ImpersonationTest.php fix(admin): harden impersonation + datacenter code per Codex review 2026-07-25 13:50:16 +02:00
OperatorInPortalTest.php fix(portal): no silent no-ops without a customer; maintenance visible per instance; maintenance form redesign 2026-07-25 19:10:44 +02:00
PortalTabsTest.php feat(portal): bind the cloud card to the real instance (plan/seats/domain/quota) so the maintenance badge matches it 2026-07-25 19:14:42 +02:00
PublicSiteGateTest.php fix(traffic): release the throttle at month end; close the Livewire bypass 2026-07-25 23:36:38 +02:00
SeatsTest.php feat(portal): seats management — invite/role/revoke against plan limit 2026-07-25 14:40:18 +02:00
SettingsTest.php fix(portal): enforce customer lifecycle per Codex review 2026-07-25 14:45:03 +02:00
TrafficTest.php fix(traffic): a sample without counters is not zero traffic 2026-07-25 23:44:02 +02:00
WelcomeTest.php feat(landing): public marketing homepage at / (+ legal placeholders) 2026-07-25 08:59:39 +02:00