feat(platform-orders): queue batch activate subscriptions job

This commit is contained in:
萝卜
2026-03-17 12:40:21 +08:00
parent 5158703a3e
commit e9ec968379
4 changed files with 206 additions and 91 deletions

View File

@@ -168,19 +168,10 @@ class AdminPlatformOrderBatchActivateSubscriptionsTest extends TestCase
$res->assertRedirect()->assertSessionHas('success');
$ok->refresh();
$bad->refresh();
$this->assertNotNull($ok->site_subscription_id);
$this->assertNotEmpty(data_get($ok->meta, 'subscription_activation.subscription_id'));
$this->assertNotEmpty(data_get($bad->meta, 'subscription_activation_error.message'));
$this->assertNotEmpty(data_get($bad->meta, 'subscription_activation_error.at'));
// 批量结果摘要应包含失败原因Top
// 队列化后:请求内不会立即跑完,不应强行断言订单已同步/失败原因已落库。
// 这里仅锁定“已提交到队列”的口径;具体成功/失败应由队列 worker 执行。
$msg = (string) $res->getSession()->get('success');
$this->assertStringContainsString('失败原因Top', $msg);
$this->assertStringContainsString('模拟失败:订阅同步异常', $msg);
$this->assertStringContainsString('任务已提交到队列', $msg);
}
public function test_platform_admin_batch_activate_respects_limit(): void