Merge branch 'MDL-55371-master' of git://github.com/jleyva/moodle

This commit is contained in:
Andrew Nicols 2017-05-05 09:57:40 +08:00
commit fbc15bb977
2 changed files with 12 additions and 3 deletions

View File

@ -2775,7 +2775,9 @@ class mod_assign_external extends external_api {
// Skip the expensive lookup of user detail if we're blind marking or the caller
// hasn't asked for user details to be embedded.
if (!$assign->is_blind_marking() && $embeduser) {
$return['user'] = user_get_user_details($participant, $course);
if ($userdetails = user_get_user_details($participant, $course)) {
$return['user'] = $userdetails;
}
}
return $return;

View File

@ -2203,6 +2203,7 @@ class mod_assign_external_testcase extends externallib_advanced_testcase {
$this->setUser($teacher);
$result = mod_assign_external::get_participant($assign->id, $student->id, false);
$result = external_api::clean_returnvalue(mod_assign_external::get_participant_returns(), $result);
}
/**
@ -2224,6 +2225,7 @@ class mod_assign_external_testcase extends externallib_advanced_testcase {
$this->setUser($teacher);
$result = mod_assign_external::get_participant($assign->id, $student->id, true);
$result = external_api::clean_returnvalue(mod_assign_external::get_participant_returns(), $result);
$this->assertEquals($student->id, $result['id']);
$this->assertFalse(fullname($student) == $result['fullname']);
$this->assertFalse($result['submitted']);
@ -2231,7 +2233,7 @@ class mod_assign_external_testcase extends externallib_advanced_testcase {
$this->assertFalse($result['grantedextension']);
$this->assertTrue($result['blindmarking']);
// Make sure we don't get any additional info.
$this->assertTrue(empty($result['user']));
$this->assertArrayNotHasKey('user', $result);
}
/**
@ -2277,6 +2279,7 @@ class mod_assign_external_testcase extends externallib_advanced_testcase {
$this->setUser($teacher);
$result = mod_assign_external::get_participant($assignmodule->id, $student->id, false);
$result = external_api::clean_returnvalue(mod_assign_external::get_participant_returns(), $result);
$this->assertEquals($student->id, $result['id']);
$this->assertEquals(fullname($student), $result['fullname']);
$this->assertTrue($result['submitted']);
@ -2284,7 +2287,7 @@ class mod_assign_external_testcase extends externallib_advanced_testcase {
$this->assertFalse($result['grantedextension']);
$this->assertFalse($result['blindmarking']);
// Make sure we don't get any additional info.
$this->assertTrue(empty($result['user']));
$this->assertArrayNotHasKey('user', $result);
}
/**
@ -2305,6 +2308,7 @@ class mod_assign_external_testcase extends externallib_advanced_testcase {
$this->setUser($teacher);
$result = mod_assign_external::get_participant($assign->id, $student->id, true);
$result = external_api::clean_returnvalue(mod_assign_external::get_participant_returns(), $result);
// Check some of the extended properties we get when requesting the user.
$this->assertEquals($student->id, $result['id']);
// We should get user infomation back.
@ -2356,6 +2360,7 @@ class mod_assign_external_testcase extends externallib_advanced_testcase {
$this->setUser($teacher);
$result = mod_assign_external::get_participant($assignmodule->id, $student->id, false);
$result = external_api::clean_returnvalue(mod_assign_external::get_participant_returns(), $result);
// Check some of the extended properties we get when not requesting a summary.
$this->assertEquals($student->id, $result['id']);
$this->assertEquals($group->id, $result['groupid']);
@ -2390,6 +2395,7 @@ class mod_assign_external_testcase extends externallib_advanced_testcase {
$this->setUser($teacher);
$participants = mod_assign_external::list_participants($assignment->id, 0, '', 0, 0, false, true);
$participants = external_api::clean_returnvalue(mod_assign_external::list_participants_returns(), $participants);
$this->assertCount(1, $participants);
// Asser that we have a valid response data.
@ -2407,6 +2413,7 @@ class mod_assign_external_testcase extends externallib_advanced_testcase {
$this->assertArrayHasKey('enrolledcourses', $participant);
$participants = mod_assign_external::list_participants($assignment->id, 0, '', 0, 0, false, false);
$participants = external_api::clean_returnvalue(mod_assign_external::list_participants_returns(), $participants);
// Check that the list of courses the participant is enrolled is not returned.
$participant = $participants[0];
$this->assertArrayNotHasKey('enrolledcourses', $participant);