From f0340af59f9ba9f74525200b3ec98fff9da26d6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=90=9D=E5=8D=9C?= Date: Tue, 17 Mar 2026 05:38:42 +0800 Subject: [PATCH] test(governance-ui): disable batch mark activated when sync_status=synced --- ...nShouldDisableWhenSyncStatusSyncedTest.php | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 tests/Feature/AdminPlatformOrderIndexBatchMarkActivatedButtonShouldDisableWhenSyncStatusSyncedTest.php diff --git a/tests/Feature/AdminPlatformOrderIndexBatchMarkActivatedButtonShouldDisableWhenSyncStatusSyncedTest.php b/tests/Feature/AdminPlatformOrderIndexBatchMarkActivatedButtonShouldDisableWhenSyncStatusSyncedTest.php new file mode 100644 index 0000000..d4f8081 --- /dev/null +++ b/tests/Feature/AdminPlatformOrderIndexBatchMarkActivatedButtonShouldDisableWhenSyncStatusSyncedTest.php @@ -0,0 +1,38 @@ +seed(); + + $this->post('/admin/login', [ + 'email' => 'platform.admin@demo.local', + 'password' => 'Platform@123456', + ])->assertRedirect('/admin'); + } + + public function test_batch_mark_activated_button_should_disable_when_sync_status_synced_even_if_paid_pending(): void + { + $this->loginAsPlatformAdmin(); + + // paid + pending 但 sync_status=synced(与“待生效 unsynced”口径互斥) + $res = $this->get('/admin/platform-orders?payment_status=paid&status=pending&sync_status=synced'); + $res->assertOk(); + + $html = (string) $res->getContent(); + + $this->assertStringContainsString('批量仅标记为已生效(当前筛选范围)', $html); + $this->assertStringContainsString('data-role="batch-mark-activated-blocked-hint"', $html); + $this->assertStringContainsString('sync_status=unsynced', $html); + + $this->assertTrue(str_contains($html, 'type="submit" disabled') || str_contains($html, 'disabled="disabled"')); + } +}