test(dashboard): guardrail quick links count <= 7

This commit is contained in:
萝卜
2026-03-17 08:07:10 +08:00
parent 5d58b7a1e2
commit 90ccf37f0b

View File

@@ -0,0 +1,42 @@
<?php
namespace Tests\Feature;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase;
class AdminDashboardBillingWorkbenchQuickLinksCountShouldBeAtMost7Test extends TestCase
{
use RefreshDatabase;
protected function loginAsPlatformAdmin(): void
{
$this->seed();
$this->post('/admin/login', [
'email' => 'platform.admin@demo.local',
'password' => 'Platform@123456',
])->assertRedirect('/admin');
}
public function test_dashboard_billing_workbench_quick_links_count_should_be_at_most_7(): void
{
$this->loginAsPlatformAdmin();
$res = $this->get('/admin');
$res->assertOk();
$html = (string) $res->getContent();
// Guardrail收费工作台“快捷治理”按钮数量必须收敛<=7
// 说明:避免后续继续膨胀回到“暴露所有维度”的旧路。
preg_match_all('/data-role="dashboard-po-quicklink-[^"]+"/', $html, $m);
$count = is_array($m[0] ?? null) ? count($m[0]) : 0;
$this->assertGreaterThanOrEqual(1, $count, '未找到任何 dashboard-po-quicklink可能误删了快捷区或 data-role 口径漂移)');
$this->assertLessThanOrEqual(7, $count, '收费工作台快捷入口不应超过 7 个(应下沉到高级筛选)');
// 当前版本固定为 6防止不小心又多塞入口。
$this->assertSame(6, $count);
}
}