23 lines
996 B
PHP
23 lines
996 B
PHP
<?php
|
||
|
||
namespace Tests\Feature;
|
||
|
||
use Tests\TestCase;
|
||
|
||
class AdminDashboardPlanOrderShareMiniChartShouldNormalizeBarWidthByTopMaxTest extends TestCase
|
||
{
|
||
public function test_dashboard_plan_order_share_mini_chart_should_normalize_bar_width_by_top_max(): void
|
||
{
|
||
$js = (string) file_get_contents(public_path('js/admin.js'));
|
||
|
||
// 护栏:占比条形图 bar 宽度应按 Top5 最大单量归一(而不是按 total 分母),避免“覆盖率低时所有 bar 很短难看”。
|
||
$this->assertStringContainsString('var maxCnt = 0', $js);
|
||
$this->assertStringContainsString('maxCnt = v', $js);
|
||
$this->assertStringContainsString('var barRatio =', $js);
|
||
$this->assertStringContainsString("bar.style.width = Math.round(barRatio * 100) + '%'", $js);
|
||
|
||
// 百分比展示仍必须按 total 分母(ratio),不能被 barRatio 替代。
|
||
$this->assertStringContainsString("val.textContent = formatPct(ratio, 1) + '%'", $js);
|
||
}
|
||
}
|