1
0
Files
breadcrumb-the-shire/tests/Architecture/DetailActionPolicyContractFiles.php
fs 157eb18610 refactor(user-lifecycle): drop redundant titles and duplicate run-now button
Cleans up two leftover redundancies after the Phase-1 cockpit
foundation landed in cc2cf3a:

* The audit-list panel embedded inside the settings page rendered
  its own "User lifecycle logs" titlebar — a redundant heading
  below the page-level titlebar that already says exactly that.
  The embedded panel now renders the filter toolbar + grid
  directly. Page-level title carries the context.
* The Run-Now action existed twice — inline in a <details>-card
  inside the form and again in the aside Quick-Actions list. The
  inline version is gone; aside is the single discoverable home
  for policy-level danger actions, consistent with how Phase 1
  introduced Purge logs there too.
* The orphan $lastRunSummary string in the action and view stays
  removed accordingly. KPI tile "Last run" still carries the
  relative-time + status hint, so no information is lost — just
  surfaced once instead of twice.

Three architecture-test lists updated to match the panel's new
shape, each with an inline comment so future readers see why the
panel is intentionally absent:
* DetailActionPolicyContractFiles.migratedConfirmFiles drops the
  user-lifecycle settings view (its danger action delegates to the
  aside-actions partial, already in this list).
* ListUiSharedPartialsContractTest.purgeTitlebarTemplateFiles drops
  the panel (no titlebar of its own anymore).
* ListTitlebarContractFiles.titlebarTemplateFiles drops the panel
  for the same reason.

All six quality gates green; behaviour-identical to a user with the
required permission (purge + run-now both still available, just
sourced from the aside).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 20:38:15 +02:00

35 lines
1.4 KiB
PHP

<?php
namespace MintyPHP\Tests\Architecture;
final class DetailActionPolicyContractFiles
{
/**
* @return list<string>
*/
public static function migratedConfirmFiles(): array
{
return [
'pages/admin/users/edit(default).phtml',
'pages/admin/users/_form.phtml',
'pages/admin/tenants/edit(default).phtml',
'pages/admin/tenants/_form.phtml',
'pages/admin/departments/edit(default).phtml',
'pages/admin/roles/edit(default).phtml',
'pages/admin/permissions/edit(default).phtml',
// Settings subpages that carry danger actions (and therefore need
// the data-detail-confirm-message contract). Subpages without
// destructive buttons (general/audit/telemetry/email/sso/branding)
// are deliberately excluded.
'pages/admin/settings/account-access(default).phtml',
// user-lifecycle settings delegates its only danger action
// (Run-Now) to the aside-actions partial, which is already
// in this list. Inline confirm-attributes are no longer
// required in the view source.
'pages/admin/settings/api(default).phtml',
'templates/partials/app-details-titlebar.phtml',
'templates/partials/app-details-aside-actions.phtml',
];
}
}