Dashboard: expand governance mini bars to include reconcile mismatch and refund inconsistent

This commit is contained in:
萝卜
2026-03-17 02:48:11 +08:00
parent dca19ed114
commit db6fd9a9b7
3 changed files with 31 additions and 3 deletions

View File

@@ -28,7 +28,7 @@ class AdminDashboardMiniBarRowsShouldLinkToGovernanceScopesTest extends TestCase
$html = (string) $res->getContent();
// 行可点击(漏斗 + 治理)
// 行可点击(漏斗 + 治理 + 订阅到期
$this->assertStringContainsString('adm-mini-bar-row-link', $html);
// 漏斗:待支付 / 待生效 / 可同步
@@ -36,12 +36,18 @@ class AdminDashboardMiniBarRowsShouldLinkToGovernanceScopesTest extends TestCase
$this->assertStringContainsString('href="/admin/platform-orders?payment_status=paid&status=pending&sync_status=unsynced&back=%2Fadmin"', $html);
$this->assertStringContainsString('href="/admin/platform-orders?syncable_only=1&sync_status=unsynced&back=%2Fadmin"', $html);
// 治理:同步失败 / 无回执 / 续费缺订阅
// 治理:同步失败 / 无回执 / 续费缺订阅 / 对账不一致 / 退款不一致
$this->assertStringContainsString('href="/admin/platform-orders?sync_status=failed&back=%2Fadmin"', $html);
$this->assertStringContainsString('href="/admin/platform-orders?payment_status=paid&receipt_status=none&back=%2Fadmin"', $html);
$this->assertStringContainsString('href="/admin/platform-orders?renewal_missing_subscription=1&back=%2Fadmin"', $html);
$this->assertStringContainsString('href="/admin/platform-orders?reconcile_mismatch=1&back=%2Fadmin"', $html);
$this->assertStringContainsString('href="/admin/platform-orders?refund_inconsistent=1&back=%2Fadmin"', $html);
// back 参数不得被 Blade escape 成 &back避免 nested back/可读性问题)
// 订阅到期治理
$this->assertStringContainsString('href="/admin/site-subscriptions?expiry=expiring_7d&back=%2Fadmin"', $html);
$this->assertStringContainsString('href="/admin/site-subscriptions?expiry=expired&back=%2Fadmin"', $html);
// back 参数不得被 Blade escape 成 &back
$this->assertStringNotContainsString('&back=', $html);
}
}

View File

@@ -32,5 +32,7 @@ class AdminDashboardPlatformOrderGovernanceMiniBarsShouldRenderTest extends Test
$this->assertStringContainsString('data-role="dashboard-po-sync-failed-bar"', $html);
$this->assertStringContainsString('data-role="dashboard-po-no-receipt-bar"', $html);
$this->assertStringContainsString('data-role="dashboard-po-renewal-missing-bar"', $html);
$this->assertStringContainsString('data-role="dashboard-po-reconcile-mismatch-bar"', $html);
$this->assertStringContainsString('data-role="dashboard-po-refund-inconsistent-bar"', $html);
}
}