Files
breadcrumb-the-shire/tests/Architecture/ListTitlebarContractFiles.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

32 lines
1.2 KiB
PHP

<?php
namespace MintyPHP\Tests\Architecture;
final class ListTitlebarContractFiles
{
/**
* @return list<string>
*/
public static function titlebarTemplateFiles(): array
{
return [
'pages/admin/users/index(default).phtml',
'pages/admin/tenants/index(default).phtml',
'pages/admin/departments/index(default).phtml',
'pages/admin/roles/index(default).phtml',
'pages/admin/permissions/index(default).phtml',
'pages/admin/mail-log/index(default).phtml',
'pages/admin/scheduled-jobs/index(default).phtml',
'modules/audit/pages/audit/api-audit/index(default).phtml',
'modules/audit/pages/audit/import-audit/index(default).phtml',
// settings-user-lifecycle-panel.phtml is embedded inside the
// settings page, which has its own titlebar — the panel
// intentionally renders no titlebar of its own.
'modules/audit/pages/audit/system-audit/index(default).phtml',
'modules/addressbook/pages/address-book/index(default).phtml',
'pages/search/index(default).phtml',
'pages/help/hotkeys(default).phtml',
];
}
}