public function testDelete()
 {
     $channel = new Channel();
     $channel->attributes = array('name' => 'test6' . time(), 'subscriber_source' => Channel::SOURCE_PHP, 'event_source' => Channel::SOURCE_PHP);
     $this->assertEquals(true, $channel->getIsNewRecord());
     $this->assertEquals(true, $channel->save());
     //  try find channel
     $channel = Channel::model()->findByPk($channel->id);
     $this->assertInstanceOf('YiiNodeSocket\\Models\\Channel', $channel);
     //  try delete
     $this->assertEquals(true, $channel->delete());
     //  try find again
     $channel = Channel::model()->findByPk($channel->id);
     //  should be null
     $this->assertNull($channel);
 }
 /**
  * @param Channel $channel
  * @param bool    $refresh
  *
  * @return AModel[]
  */
 public function getSubscribers(Channel $channel, $refresh = false)
 {
     if ($channel->getIsNewRecord()) {
         return array();
     }
     if (array_key_exists($channel->id, self::$_channelSubscribers) && !$refresh) {
         return self::$_channelSubscribers[$channel->id];
     }
     $links = SubscriberChannel::model()->findAllByAttributes(array('channel_id' => $channel->id));
     $subscriberId = array();
     foreach ($links as $link) {
         $subscriberId[] = $link->subscriber_id;
     }
     $subscribers = Subscriber::model()->findAllByPk($subscriberId);
     foreach ($subscribers as $subscriber) {
         self::_addToCache($channel, $subscriber);
     }
     return $subscribers;
 }