Esempio n. 1
0
 public function testSubscribe()
 {
     $subscriber = new Subscriber();
     $subscriber->sid = microtime();
     $this->assertEquals(true, $subscriber->save(), 'Can not save subscriber');
     $channel = new Channel();
     $channel->name = microtime();
     $this->assertEquals(true, $channel->save());
     $this->assertEmpty($channel->getSubscribers());
     $this->assertEquals(true, $channel->subscribe($subscriber));
     $subscribers = $channel->getSubscribers();
     $this->assertNotEmpty($subscribers);
     $this->assertCount(1, $subscribers);
     $this->assertEquals(true, $subscriber->id == $subscribers[$subscriber->id]->id);
     $secondSubscriber = new Subscriber();
     $secondSubscriber->sid = 'sdf0s9duf32' . time();
     $this->assertEquals(true, $secondSubscriber->save());
     $this->assertEquals(true, $channel->subscribe($secondSubscriber));
     $subscribers = $channel->getSubscribers();
     $this->assertCount(2, $subscribers);
     $this->assertEquals(true, $secondSubscriber->id == $subscribers[$secondSubscriber->id]->id);
     //  load channel
     $channel = Channel::model()->findByPk($channel->id);
     $this->assertInstanceOf('YiiNodeSocket\\Models\\Channel', $channel);
     /** @var Channel $channel */
     $subscribers = $channel->getSubscribers();
     $this->assertNotEmpty($subscribers);
     $this->assertCount(2, $subscribers);
     return $channel;
 }