/** * @param ConstructEvent $event */ public function construct(ConstructEvent $event) { $client = new Client(); $client->setLoop($event->getLoop()); $bot = new Bot(); $bot->setConfig(Configure::read('WyriHaximus.Phergie.config')); $bot->setClient($client); $bot->run(false); EventManager::instance()->dispatch(StartEvent::create($event->getLoop(), $bot)); }
/** * Tests that dependencies can be overridden via configuration. */ public function testOverrideDependencies() { $client = $this->getMockClient(); $logger = $this->getMockLogger(); $parser = $this->getMockParser(); $converter = $this->getMockConverter(); $eventQueueFactory = $this->getMockEventQueueFactory(); $config = array('client' => $client, 'logger' => $logger, 'parser' => $parser, 'converter' => $converter, 'eventQueueFactory' => $eventQueueFactory, 'plugins' => array(), 'connections' => array($this->getMockConnection())); $this->bot->setConfig($config); $this->bot->run(); $this->assertSame($client, $this->bot->getClient()); $this->assertSame($logger, $this->bot->getLogger()); $this->assertSame($parser, $this->bot->getParser()); $this->assertSame($converter, $this->bot->getConverter()); $this->assertSame($eventQueueFactory, $this->bot->getEventQueueFactory()); }