MDL-65071 forum: Fix webservice unit tests

This commit is contained in:
Mihail Geshoski
2019-05-01 22:20:35 +08:00
parent 121ccf1593
commit 28c2f2b266
2 changed files with 24 additions and 24 deletions
+1 -1
View File
@@ -729,7 +729,7 @@ class mod_forum_external extends external_api {
'usermodifiedfullname' => new external_value(PARAM_TEXT, 'Post modifier full name'),
'userpictureurl' => new external_value(PARAM_URL, 'Post author picture.'),
'usermodifiedpictureurl' => new external_value(PARAM_URL, 'Post modifier picture.'),
'numreplies' => new external_value(PARAM_TEXT, 'The number of replies in the discussion'),
'numreplies' => new external_value(PARAM_INT, 'The number of replies in the discussion'),
'numunread' => new external_value(PARAM_INT, 'The number of unread discussions.'),
'pinned' => new external_value(PARAM_BOOL, 'Is the discussion pinned'),
'locked' => new external_value(PARAM_BOOL, 'Is the discussion locked'),
+23 -23
View File
@@ -1052,36 +1052,34 @@ class mod_forum_external_testcase extends externallib_advanced_testcase {
$expecteddiscussions = array(
'id' => $discussion1->firstpost,
'name' => $discussion1->name,
'groupid' => $discussion1->groupid,
'groupid' => (int) $discussion1->groupid,
'timemodified' => $discussion1reply3->created,
'usermodified' => $discussion1reply3->userid,
'timestart' => $discussion1->timestart,
'timeend' => $discussion1->timeend,
'usermodified' => (int) $discussion1reply3->userid,
'timestart' => (int) $discussion1->timestart,
'timeend' => (int) $discussion1->timeend,
'discussion' => $discussion1->id,
'parent' => 0,
'userid' => $discussion1->userid,
'created' => $post1->created,
'modified' => $post1->modified,
'mailed' => $post1->mailed,
'userid' => (int) $discussion1->userid,
'created' => (int) $post1->created,
'modified' => (int) $post1->modified,
'mailed' => (int) $post1->mailed,
'subject' => $post1->subject,
'message' => $post1->message,
'messageformat' => $post1->messageformat,
'messagetrust' => $post1->messagetrust,
'messageformat' => (int) $post1->messageformat,
'messagetrust' => (int) $post1->messagetrust,
'attachment' => $post1->attachment,
'totalscore' => $post1->totalscore,
'mailnow' => $post1->mailnow,
'totalscore' => (int) $post1->totalscore,
'mailnow' => (int) $post1->mailnow,
'userfullname' => fullname($user1),
'usermodifiedfullname' => fullname($user4),
'userpictureurl' => '',
'usermodifiedpictureurl' => '',
'numreplies' => 3,
'numunread' => 0,
'pinned' => FORUM_DISCUSSION_UNPINNED,
'pinned' => (bool) FORUM_DISCUSSION_UNPINNED,
'locked' => false,
'canreply' => false,
'canlock' => false,
'starred' => false,
'canfavourite' => true,
'canlock' => false
);
// Call the external function passing forum id.
@@ -1103,13 +1101,6 @@ class mod_forum_external_testcase extends externallib_advanced_testcase {
$this->assertEquals($expectedreturn, $discussions);
// Test the starring functionality return.
$t = mod_forum_external::toggle_favourite_state($discussion1->id, 1);
$expectedreturn['discussions'][0]['starred'] = true;
$discussions = mod_forum_external::get_forum_discussions_paginated($forum1->id);
$discussions = external_api::clean_returnvalue(mod_forum_external::get_forum_discussions_paginated_returns(), $discussions);
$this->assertEquals($expectedreturn, $discussions);
// Call without required view discussion capability.
$this->unassignUserCapability('mod/forum:viewdiscussion', $context->id, $newrole);
try {
@@ -1291,6 +1282,8 @@ class mod_forum_external_testcase extends externallib_advanced_testcase {
'locked' => false,
'canreply' => false,
'canlock' => false,
'starred' => false,
'canfavourite' => true
);
// Call the external function passing forum id.
@@ -1312,6 +1305,13 @@ class mod_forum_external_testcase extends externallib_advanced_testcase {
$this->assertEquals($expectedreturn, $discussions);
// Test the starring functionality return.
$t = mod_forum_external::toggle_favourite_state($discussion1->id, 1);
$expectedreturn['discussions'][0]['starred'] = true;
$discussions = mod_forum_external::get_forum_discussions($forum1->id);
$discussions = external_api::clean_returnvalue(mod_forum_external::get_forum_discussions_returns(), $discussions);
$this->assertEquals($expectedreturn, $discussions);
// Call without required view discussion capability.
$this->unassignUserCapability('mod/forum:viewdiscussion', $context->id, $newrole);
try {