X-Git-Url: http://git.moodle.org/gw?p=moodle.git;a=blobdiff_plain;f=mod%2Fforum%2Ftests%2Fexternallib_test.php;h=afe8d8b72df38dbd457a225d528e873be31ef23f;hp=5981e5c0ceceb7773f796434aebc0a019c2a329e;hb=04cd8ae3c0c079249fc753a8e0d2b98ee658d6a6;hpb=c18acb8997ce6d2896ab54872ea3126c64a8c937;ds=sidebyside diff --git a/mod/forum/tests/externallib_test.php b/mod/forum/tests/externallib_test.php index 5981e5c0cec..afe8d8b72df 100644 --- a/mod/forum/tests/externallib_test.php +++ b/mod/forum/tests/externallib_test.php @@ -1010,4 +1010,37 @@ class mod_forum_external_testcase extends externallib_advanced_testcase { } + /* + * Test can_add_discussion. A basic test since all the API functions are already covered by unit tests. + */ + public function test_can_add_discussion() { + + $this->resetAfterTest(true); + + // Create courses to add the modules. + $course = self::getDataGenerator()->create_course(); + + $user = self::getDataGenerator()->create_user(); + + // First forum with tracking off. + $record = new stdClass(); + $record->course = $course->id; + $record->type = 'news'; + $forum = self::getDataGenerator()->create_module('forum', $record); + + // User with no permissions to add in a news forum. + self::setUser($user); + $this->getDataGenerator()->enrol_user($user->id, $course->id); + + $result = mod_forum_external::can_add_discussion($forum->id); + $result = external_api::clean_returnvalue(mod_forum_external::can_add_discussion_returns(), $result); + $this->assertFalse($result['status']); + + self::setAdminUser(); + $result = mod_forum_external::can_add_discussion($forum->id); + $result = external_api::clean_returnvalue(mod_forum_external::can_add_discussion_returns(), $result); + $this->assertTrue($result['status']); + + } + }