public function testDealerFeatures() { $dealerFeatures = null; $session = new \Thruway\Session(new \Thruway\Transport\DummyTransport()); $dealer = new \Thruway\Role\Dealer(); $session->dispatcher->addRealmSubscriber($dealer); $welcomeMessage = new \Thruway\Message\WelcomeMessage($session->getSessionId(), new stdClass()); $session->dispatcher->addListener('SendWelcomeMessageEvent', function (\Thruway\Event\MessageEvent $event) use(&$brokerFeatures, &$dealerFeatures) { $dealerFeatures = $event->message->getDetails()->roles->dealer->features; }); $session->dispatchMessage($welcomeMessage, "Send"); $this->assertInstanceOf('stdClass', $dealerFeatures); $this->assertTrue($dealerFeatures->caller_identification); $this->assertTrue($dealerFeatures->progressive_call_results); }