assertIsArray($flash); $this->assertArrayHasKey('warning', $flash); $this->assertStringContainsString('run_id=', (string) $flash['warning']); $this->assertSame('进入上次批次复盘', (string) ($flash['warning_link_label'] ?? '')); $this->assertStringContainsString('type=bas', (string) ($flash['warning_link_href'] ?? '')); $this->assertSame('BAS202603171234560001', (string) ($flash['warning_copy_text'] ?? '')); $this->assertSame('复制run_id', (string) ($flash['warning_copy_label'] ?? '')); } public function test_build_should_not_include_actions_when_run_id_missing(): void { $flash = BatchDispatchWarning::build('BMPA ', '', 'bmpa'); $this->assertIsArray($flash); $this->assertArrayHasKey('warning', $flash); $this->assertStringNotContainsString('run_id=', (string) $flash['warning']); $this->assertArrayNotHasKey('warning_link_href', $flash); $this->assertArrayNotHasKey('warning_copy_text', $flash); } }