CluPilotCloud/tests/Feature/Admin
nexxo 57c6912987
tests / pest (push) Failing after 7m52s Details
tests / assets (push) Successful in 20s Details
tests / release (push) Has been skipped Details
Say that a click landed, and make moving one actually move it
"Man klickt und sieht nicht was passiert." Every action in this console is
a round trip, and a round trip with no sign of itself reads as a click that
missed — so the answer is in three places, from the general to the
specific.

A thin bar at the top of the window for any Livewire request, in app.js.
Delayed by 140 ms, because a request that answers faster than that is
perceived as immediate and a bar flashing on every keystroke of a .live
field is worse than none. It creeps to 70 % and only completes on the
answer: a bar that reaches the end while the answer is still on its way is
a lie about the thing it exists to report. Released on failure as well —
the request somebody must not be left waiting on is precisely the one that
went wrong — and on wire:navigate, which is not a request hook at all and
would otherwise leave the bar behind on a page that is gone.

Per button: a pressed state on the way down, disabled while its own request
is out, scoped with wire:target to that button's own call so a row does not
grey itself out because a neighbour is moving.

The edit button carries its own spinner, because opening the modal is a
request made by the MODAL component — wire:loading on this page never sees
it. It clears when the package announces the modal is up, and on a six
second timer as well, so a request that never answers cannot leave a row
spinning for ever.

And the reordering was not only slow to look at, it was wrong. It added or
subtracted a fixed amount: with the seeded values ten apart that usually
landed right, and sometimes landed on a value another template already had
— or on the floor along with three others. Equal sort values fall back to
the name, so a click could reorder something else, or nothing, which is
indistinguishable from a click that never registered. It swaps with the
neighbour now: exactly one place, or nothing at the ends, both of which are
what an operator expects to see. Where two shared a value the swap leaves
them distinct, or the next click would do nothing again.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-29 23:06:30 +02:00
..
AdminConsoleTest.php Send a guest bounced off the console to the console's own sign-in 2026-07-28 13:32:05 +02:00
AdminHostRestrictionTest.php Move the console's identity out of the customer table 2026-07-28 10:31:43 +02:00
AdminSettingsTest.php Check users directly for the reverse operator-identity collision, not just customers 2026-07-28 15:36:29 +02:00
BroadcastAuthTest.php Authorize the console's live feed on the operator guard, not the default 2026-07-28 13:31:50 +02:00
CapacityQueueTest.php Take the order, park it, and say when it will be delivered 2026-07-29 18:50:46 +02:00
ConsoleHostSeparationTest.php Match the logout exemption through AdminArea, not a bare route check 2026-07-28 15:27:06 +02:00
ConsoleNetworkTest.php Move the console's identity out of the customer table 2026-07-28 10:31:43 +02:00
ConsoleReportsRealDataTest.php Move the console's identity out of the customer table 2026-07-28 10:31:43 +02:00
CustomerDetailTabsTest.php Show the customer, and write the answers once 2026-07-29 22:37:30 +02:00
CustomerRevenueTest.php Move the console's identity out of the customer table 2026-07-28 10:31:43 +02:00
DatacenterTest.php Let a datacenter code be corrected while nothing depends on it, and say which building 2026-07-28 22:25:21 +02:00
EnvFileEditorTest.php Add a raw .env editor to the Integrations page, with a net under it 2026-07-29 01:51:27 +02:00
EnvRestartTest.php Let the customer buy it themselves, and tab the integrations page 2026-07-29 19:42:28 +02:00
GrantPlanTest.php Grant a package or module from the customer's row in the console 2026-07-29 12:42:21 +02:00
HostCapacityTest.php Warn that a package cannot be placed, before somebody pays for it 2026-07-29 18:20:51 +02:00
HostManagementTest.php Send a guest bounced off the console to the console's own sign-in 2026-07-28 13:32:05 +02:00
HostVpnStateTest.php Read VPN host state from the synced peer table, not a live hub call 2026-07-29 00:18:21 +02:00
InboundMailTest.php Read the support mailbox into the console 2026-07-29 21:41:29 +02:00
IncidentConsoleTest.php Rebuild the status page as a status page 2026-07-29 12:45:18 +02:00
IncidentDeleteTest.php Let an incident be deleted, and start measuring whether the hosts answer 2026-07-29 15:16:48 +02:00
InstanceAdminAccessTest.php Move the console's identity out of the customer table 2026-07-28 10:31:43 +02:00
IntegrationsPageTest.php Let the customer buy it themselves, and tab the integrations page 2026-07-29 19:42:28 +02:00
MailRegisterTest.php Show the customer, and write the answers once 2026-07-29 22:37:30 +02:00
MailTemplateTest.php Say that a click landed, and make moving one actually move it 2026-07-29 23:06:30 +02:00
MaintenanceTest.php Move the console's identity out of the customer table 2026-07-28 10:31:43 +02:00
OperatorLogoutTest.php Stop the console logout from destroying a shared portal session 2026-07-28 13:58:42 +02:00
OperatorModelTest.php Give the people who run CluPilot a table of their own 2026-07-28 09:20:54 +02:00
OperatorTwoFactorEnrollmentTest.php Give the two-factor page a way back, and a shape 2026-07-28 22:25:42 +02:00
OperatorTwoFactorPolicyTest.php Move operator two-factor enrolment off admin.settings onto its own page 2026-07-28 15:11:20 +02:00
PasswordConfirmationGuardTest.php Merge credentials and infrastructure into one Integrations page 2026-07-29 01:49:39 +02:00
PlanAdminTest.php Paketversionen: Verkauf wieder aufnehmen und saubere Übergabe 2026-07-29 14:58:11 +02:00
ProvisioningActionsTest.php Move the console's identity out of the customer table 2026-07-28 10:31:43 +02:00
RbacMoveTest.php Restart a machine, enforce the quota that was sold, end a route that ended 2026-07-29 18:28:28 +02:00
RbacTest.php Move the console's identity out of the customer table 2026-07-28 10:31:43 +02:00
RevenueGrantedTest.php Skip the invoice for a full gift, keep it out of revenue, hide its price 2026-07-29 12:41:32 +02:00
SecretCipherTest.php Make isUsable() apply the same 32-byte rule encrypter() does 2026-07-28 05:09:09 +02:00
SecretVaultTest.php Read the DNS and monitoring tokens from the vault, not config 2026-07-29 00:34:54 +02:00
ServiceInvoiceTest.php Write an invoice for work that came off no price list 2026-07-29 20:12:26 +02:00
SettingsTabsTest.php Let the customer buy it themselves, and tab the integrations page 2026-07-29 19:42:28 +02:00
UpdateButtonTest.php Show that the update is running, and stop showing the rsync log 2026-07-29 20:33:02 +02:00
UpdateWindowTest.php Update on a schedule if the owner wants one, and say where incidents go 2026-07-29 15:01:54 +02:00
VpnTest.php Replace native confirm() dialogs with the app's own modal pattern 2026-07-28 19:34:27 +02:00