From f297ffacd55a67365eee3405905c0aa112137c52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=90=9D=E5=8D=9C?= Date: Mon, 16 Mar 2026 19:36:54 +0800 Subject: [PATCH] fix(admin-dashboard): syncable quick link aligns with unsynced scope --- resources/views/admin/dashboard.blade.php | 3 ++- ...BillingWorkbenchQuickLinksShouldUseBackUrlTest.php | 11 ++++++----- .../AdminDashboardBillingWorkbenchQuickLinksTest.php | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/resources/views/admin/dashboard.blade.php b/resources/views/admin/dashboard.blade.php index 19f9622..441a979 100644 --- a/resources/views/admin/dashboard.blade.php +++ b/resources/views/admin/dashboard.blade.php @@ -19,7 +19,8 @@ 'unpaid_pending' => \App\Support\BackUrl::withBack('/admin/platform-orders?payment_status=unpaid&status=pending', $selfWithoutBack), // 待生效:paid + pending,并显式锁定 sync_status=unsynced(排除同步失败等异常单) 'paid_pending' => \App\Support\BackUrl::withBack('/admin/platform-orders?payment_status=paid&status=pending&sync_status=unsynced', $selfWithoutBack), - 'syncable_only' => \App\Support\BackUrl::withBack('/admin/platform-orders?syncable_only=1', $selfWithoutBack), + // 可同步(工作台口径):只看可同步 + 未同步(排除同步失败等异常单),与工作台统计口径一致。 + 'syncable_only' => \App\Support\BackUrl::withBack('/admin/platform-orders?syncable_only=1&sync_status=unsynced', $selfWithoutBack), 'sync_failed' => \App\Support\BackUrl::withBack('/admin/platform-orders?sync_status=failed', $selfWithoutBack), ]; @endphp diff --git a/tests/Feature/AdminDashboardBillingWorkbenchQuickLinksShouldUseBackUrlTest.php b/tests/Feature/AdminDashboardBillingWorkbenchQuickLinksShouldUseBackUrlTest.php index 2f39a1a..5c78b9a 100644 --- a/tests/Feature/AdminDashboardBillingWorkbenchQuickLinksShouldUseBackUrlTest.php +++ b/tests/Feature/AdminDashboardBillingWorkbenchQuickLinksShouldUseBackUrlTest.php @@ -24,14 +24,15 @@ class AdminDashboardBillingWorkbenchQuickLinksShouldUseBackUrlTest extends TestC $this->loginAsPlatformAdmin(); // 给 dashboard 带一个安全 back,模拟从其它页面回到 dashboard 后再点治理入口 + // 注意:dashboard 链接的 back 口径已统一为 selfWithoutBack(即返回 /admin),不沿用 incoming back。 $res = $this->get('/admin?back=' . urlencode('/admin/plans')); $res->assertOk(); - // 期望:链接里带 back=%2Fadmin%2Fplans 且 & 不被 escape 成 & - $res->assertSee('href="/admin/platform-orders?payment_status=unpaid&status=pending&back=%2Fadmin%2Fplans"', false); - $res->assertSee('href="/admin/platform-orders?payment_status=paid&status=pending&sync_status=unsynced&back=%2Fadmin%2Fplans"', false); - $res->assertSee('href="/admin/platform-orders?syncable_only=1&back=%2Fadmin%2Fplans"', false); - $res->assertSee('href="/admin/platform-orders?sync_status=failed&back=%2Fadmin%2Fplans"', false); + // 期望:链接里带 back=%2Fadmin(返回仪表盘)且 & 不被 escape 成 & + $res->assertSee('href="/admin/platform-orders?payment_status=unpaid&status=pending&back=%2Fadmin"', false); + $res->assertSee('href="/admin/platform-orders?payment_status=paid&status=pending&sync_status=unsynced&back=%2Fadmin"', false); + $res->assertSee('href="/admin/platform-orders?syncable_only=1&sync_status=unsynced&back=%2Fadmin"', false); + $res->assertSee('href="/admin/platform-orders?sync_status=failed&back=%2Fadmin"', false); $res->assertDontSee('&back=', false); } diff --git a/tests/Feature/AdminDashboardBillingWorkbenchQuickLinksTest.php b/tests/Feature/AdminDashboardBillingWorkbenchQuickLinksTest.php index 1754e50..8eda07b 100644 --- a/tests/Feature/AdminDashboardBillingWorkbenchQuickLinksTest.php +++ b/tests/Feature/AdminDashboardBillingWorkbenchQuickLinksTest.php @@ -34,7 +34,7 @@ class AdminDashboardBillingWorkbenchQuickLinksTest extends TestCase $res->assertSee('href="/admin/platform-orders?payment_status=paid&status=pending&sync_status=unsynced&back=%2Fadmin"', false); $res->assertSee('待生效'); - $res->assertSee('href="/admin/platform-orders?syncable_only=1&back=%2Fadmin"', false); + $res->assertSee('href="/admin/platform-orders?syncable_only=1&sync_status=unsynced&back=%2Fadmin"', false); $res->assertSee('可同步'); $res->assertSee('href="/admin/platform-orders?sync_status=failed&back=%2Fadmin"', false);