broadcastOn(); $this->assertCount(1, $channels); $this->assertInstanceOf(PrivateChannel::class, $channels[0]); $this->assertEquals('private-core.admin.dashboard', $channels[0]->name); } /** * broadcastAs()가 지정한 이벤트명을 반환하는지 테스트합니다. */ public function test_broadcast_as_returns_event_name(): void { $event = new GenericBroadcastEvent('user.notifications.123', 'notification.received'); $this->assertEquals('notification.received', $event->broadcastAs()); } /** * broadcastWith()가 payload를 정확히 반환하는지 테스트합니다. */ public function test_broadcast_with_returns_payload(): void { $payload = ['type' => 'stats', 'data' => ['users' => 50]]; $event = new GenericBroadcastEvent('core.admin.dashboard', 'dashboard.stats.updated', $payload); $this->assertEquals($payload, $event->broadcastWith()); } /** * 빈 payload가 빈 배열로 반환되는지 테스트합니다. */ public function test_broadcast_with_empty_payload(): void { $event = new GenericBroadcastEvent('test.channel', 'test.event'); $this->assertEquals([], $event->broadcastWith()); } }