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; }