postJson('/api/message-sync/compare-event-consumer', [ 'start_time' => Carbon::now()->subDays(7)->format('Y-m-d H:i:s'), 'end_time' => Carbon::now()->format('Y-m-d H:i:s'), 'exclude_messages' => [] ]); $response->assertStatus(200); $response->assertJsonStructure([ 'success', 'data' => [ 'crm_total', 'agent_total', 'missing_count', 'sync_rate', 'missing_messages', 'summary' ] ]); } /** * 测试导出缺失消息 API */ public function test_export_missing_messages_api() { $response = $this->postJson('/api/message-sync/export-missing-messages', [ 'start_time' => Carbon::now()->subDays(7)->format('Y-m-d H:i:s'), 'end_time' => Carbon::now()->format('Y-m-d H:i:s'), 'exclude_messages' => [] ]); $response->assertStatus(200); $response->assertJsonStructure([ 'success', 'data' => [ 'csv', 'filename', 'count' ] ]); } /** * 测试无效的时间格式 */ public function test_invalid_time_format() { $response = $this->postJson('/api/message-sync/compare-event-consumer', [ 'start_time' => 'invalid-date', 'end_time' => 'invalid-date' ]); $response->assertStatus(422); } }