Skip to content

Commit

Permalink
Merge branch 'MDL-45075-26' of git://github.com/andrewnicols/moodle i…
Browse files Browse the repository at this point in the history
…nto MOODLE_26_STABLE
  • Loading branch information
danpoltawski committed Apr 23, 2014
2 parents 5db4854 + 07e57c2 commit 4a85e96
Showing 1 changed file with 114 additions and 0 deletions.
114 changes: 114 additions & 0 deletions mod/forum/tests/lib_test.php
Original file line number Diff line number Diff line change
Expand Up @@ -607,4 +607,118 @@ public function test_forum_tp_get_untracked_forums() {
$this->assertEquals(true, isset($result[$forumoptional->id]));
$this->assertEquals(true, isset($result[$forumforce->id]));
}

/**
* Test subscription using automatic subscription on create.
*/
public function test_forum_auto_subscribe_on_create() {
global $CFG;

$this->resetAfterTest();

$usercount = 5;
$course = $this->getDataGenerator()->create_course();
$users = array();

for($i = 0; $i < $usercount; $i++) {
$user = $this->getDataGenerator()->create_user();
$users[] = $user;
$this->getDataGenerator()->enrol_user($user->id, $course->id);
}

$options = array('course' => $course->id, 'forcesubscribe' => FORUM_INITIALSUBSCRIBE); // Automatic Subscription.
$forum = $this->getDataGenerator()->create_module('forum', $options);

$result = forum_subscribed_users($course, $forum);
$this->assertEquals($usercount, count($result));
foreach ($users as $user) {
$this->assertTrue(forum_is_subscribed($user->id, $forum));
}
}

/**
* Test subscription using forced subscription on create.
*/
public function test_forum_forced_subscribe_on_create() {
global $CFG;

$this->resetAfterTest();

$usercount = 5;
$course = $this->getDataGenerator()->create_course();
$users = array();

for($i = 0; $i < $usercount; $i++) {
$user = $this->getDataGenerator()->create_user();
$users[] = $user;
$this->getDataGenerator()->enrol_user($user->id, $course->id);
}

$options = array('course' => $course->id, 'forcesubscribe' => FORUM_FORCESUBSCRIBE); // Forced subscription.
$forum = $this->getDataGenerator()->create_module('forum', $options);

$result = forum_subscribed_users($course, $forum);
$this->assertEquals($usercount, count($result));
foreach ($users as $user) {
$this->assertTrue(forum_is_subscribed($user->id, $forum));
}
}

/**
* Test subscription using optional subscription on create.
*/
public function test_forum_optional_subscribe_on_create() {
global $CFG;

$this->resetAfterTest();

$usercount = 5;
$course = $this->getDataGenerator()->create_course();
$users = array();

for($i = 0; $i < $usercount; $i++) {
$user = $this->getDataGenerator()->create_user();
$users[] = $user;
$this->getDataGenerator()->enrol_user($user->id, $course->id);
}

$options = array('course' => $course->id, 'forcesubscribe' => FORUM_CHOOSESUBSCRIBE); // Subscription optional.
$forum = $this->getDataGenerator()->create_module('forum', $options);

$result = forum_subscribed_users($course, $forum);
// No subscriptions by default.
$this->assertEquals(0, count($result));
foreach ($users as $user) {
$this->assertFalse(forum_is_subscribed($user->id, $forum));
}
}

/**
* Test subscription using disallow subscription on create.
*/
public function test_forum_disallow_subscribe_on_create() {
global $CFG;

$this->resetAfterTest();

$usercount = 5;
$course = $this->getDataGenerator()->create_course();
$users = array();

for($i = 0; $i < $usercount; $i++) {
$user = $this->getDataGenerator()->create_user();
$users[] = $user;
$this->getDataGenerator()->enrol_user($user->id, $course->id);
}

$options = array('course' => $course->id, 'forcesubscribe' => FORUM_DISALLOWSUBSCRIBE); // Subscription prevented.
$forum = $this->getDataGenerator()->create_module('forum', $options);

$result = forum_subscribed_users($course, $forum);
// No subscriptions by default.
$this->assertEquals(0, count($result));
foreach ($users as $user) {
$this->assertFalse(forum_is_subscribed($user->id, $forum));
}
}
}

0 comments on commit 4a85e96

Please sign in to comment.