$user = $this->getDataGenerator()->create_user();
$course = $this->getDataGenerator()->create_course();
$forum = $this->getDataGenerator()->create_module('forum', array('course' => $course->id));
+ $user = $this->getDataGenerator()->create_user();
$context = context_module::instance($forum->cmid);
+ // Add a subscription.
+ $record = array();
+ $record['course'] = $course->id;
+ $record['forum'] = $forum->id;
+ $record['userid'] = $user->id;
+ $subscription = $this->getDataGenerator()->get_plugin_generator('mod_forum')->create_subscription($record);
+
$params = array(
'context' => $context,
+ 'objectid' => $subscription->id,
'other' => array('forumid' => $forum->id),
'relateduserid' => $user->id,
);
$user = $this->getDataGenerator()->create_user();
$course = $this->getDataGenerator()->create_course();
$forum = $this->getDataGenerator()->create_module('forum', array('course' => $course->id));
+ $user = $this->getDataGenerator()->create_user();
$context = context_module::instance($forum->cmid);
+ // Add a subscription.
+ $record = array();
+ $record['course'] = $course->id;
+ $record['forum'] = $forum->id;
+ $record['userid'] = $user->id;
+ $subscription = $this->getDataGenerator()->get_plugin_generator('mod_forum')->create_subscription($record);
+
$params = array(
'context' => $context,
+ 'objectid' => $subscription->id,
'other' => array('forumid' => $forum->id),
'relateduserid' => $user->id,
);
*/
protected $forumpostcount = 0;
+ /**
+ * @var int keep track of how many forum subscriptions have been created.
+ */
+ protected $forumsubscriptionscount = 0;
+
/**
* To be called from data reset code only,
* do not use in tests.
public function reset() {
$this->forumdiscussioncount = 0;
$this->forumpostcount = 0;
+ $this->forumsubscriptionscount = 0;
parent::reset();
}
return parent::create_instance($record, (array)$options);
}
+ /**
+ * Function to create a dummy subscription.
+ *
+ * @param array|stdClass $record
+ * @return stdClass the subscription object
+ */
+ public function create_subscription($record = null) {
+ global $DB;
+
+ // Increment the forum subscription count.
+ $this->forumsubscriptionscount++;
+
+ $record = (array)$record;
+
+ if (!isset($record['course'])) {
+ throw new coding_exception('course must be present in phpunit_util::create_subscription() $record');
+ }
+
+ if (!isset($record['forum'])) {
+ throw new coding_exception('forum must be present in phpunit_util::create_subscription() $record');
+ }
+
+ if (!isset($record['userid'])) {
+ throw new coding_exception('userid must be present in phpunit_util::create_subscription() $record');
+ }
+
+ $record = (object)$record;
+
+ // Add the subscription.
+ $record->id = $DB->insert_record('forum_subscriptions', $record);
+
+ return $record;
+ }
+
/**
* Function to create a dummy discussion.
*