fix(admin-dashboard): paid_pending count aligns with unsynced scope
This commit is contained in:
@@ -59,6 +59,25 @@ class AdminDashboardBillingWorkbenchQuickLinksShouldShowCountsTest extends TestC
|
||||
'paid_amount' => 9,
|
||||
]);
|
||||
|
||||
// 脏数据兜底:即使 status=pending + paid,但若 meta 已写入 subscription_activation(视为已同步),不应计入“待生效(unsynced)”集合。
|
||||
PlatformOrder::query()->create([
|
||||
'merchant_id' => $merchantId,
|
||||
'plan_id' => null,
|
||||
'site_subscription_id' => null,
|
||||
'created_by_admin_id' => $platformAdminId ?: null,
|
||||
'order_no' => 'PO_DASHBOARD_PAID_PENDING_BUT_ALREADY_SYNCED',
|
||||
'order_type' => 'new_purchase',
|
||||
'status' => 'pending',
|
||||
'payment_status' => 'paid',
|
||||
'payable_amount' => 9,
|
||||
'paid_amount' => 9,
|
||||
'meta' => [
|
||||
'subscription_activation' => [
|
||||
'subscription_id' => 123,
|
||||
],
|
||||
],
|
||||
]);
|
||||
|
||||
PlatformOrder::query()->create([
|
||||
'merchant_id' => $merchantId,
|
||||
'plan_id' => null,
|
||||
@@ -81,7 +100,7 @@ class AdminDashboardBillingWorkbenchQuickLinksShouldShowCountsTest extends TestC
|
||||
|
||||
// Debug:确保我们构造的数据在 DB 里
|
||||
$this->assertSame(1, PlatformOrder::query()->where('payment_status', 'unpaid')->where('status', 'pending')->count());
|
||||
$this->assertSame(2, PlatformOrder::query()->where('payment_status', 'paid')->where('status', 'pending')->count());
|
||||
$this->assertSame(3, PlatformOrder::query()->where('payment_status', 'paid')->where('status', 'pending')->count());
|
||||
|
||||
$res = $this->get('/admin');
|
||||
$res->assertOk();
|
||||
|
||||
Reference in New Issue
Block a user