mirror of
https://github.com/moodle/moodle.git
synced 2025-08-09 19:06:41 +02:00
MDL-71104 completion: Fix completion_info::get_data() unit tests
* Fixed inverted $sameuser test data. * Fixed caching expectation check. Caching only relies on whether the user accessing the completion data is the same user or not. * Fixed checking for the caching of other modules. Should have been checking cm ID and not instance ID. * Additional test case when whole course parameter is passed as true, but the requesting user is different from the target user.
This commit is contained in:
parent
295901e6a1
commit
2323a27150
1 changed files with 11 additions and 8 deletions
|
@ -588,19 +588,22 @@ class core_completionlib_testcase extends advanced_testcase {
|
||||||
public function get_data_provider() {
|
public function get_data_provider() {
|
||||||
return [
|
return [
|
||||||
'No completion record' => [
|
'No completion record' => [
|
||||||
false, false, false, COMPLETION_INCOMPLETE
|
false, true, false, COMPLETION_INCOMPLETE
|
||||||
],
|
],
|
||||||
'Not completed' => [
|
'Not completed' => [
|
||||||
false, false, true, COMPLETION_INCOMPLETE
|
false, true, true, COMPLETION_INCOMPLETE
|
||||||
],
|
],
|
||||||
'Completed' => [
|
'Completed' => [
|
||||||
false, false, true, COMPLETION_COMPLETE
|
false, true, true, COMPLETION_COMPLETE
|
||||||
],
|
],
|
||||||
'Whole course, complete' => [
|
'Whole course, complete' => [
|
||||||
true, false, true, COMPLETION_COMPLETE
|
true, true, true, COMPLETION_COMPLETE
|
||||||
],
|
],
|
||||||
'Get data for another user, result should be not cached' => [
|
'Get data for another user, result should be not cached' => [
|
||||||
false, true, true, COMPLETION_INCOMPLETE
|
false, false, true, COMPLETION_INCOMPLETE
|
||||||
|
],
|
||||||
|
'Get data for another user, including whole course, result should be not cached' => [
|
||||||
|
true, false, true, COMPLETION_INCOMPLETE
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -666,7 +669,6 @@ class core_completionlib_testcase extends advanced_testcase {
|
||||||
|
|
||||||
// If the user has no completion record, then the default record should be returned.
|
// If the user has no completion record, then the default record should be returned.
|
||||||
if (!$hasrecord) {
|
if (!$hasrecord) {
|
||||||
$iscached = false;
|
|
||||||
$this->assertEquals(0, $result->id);
|
$this->assertEquals(0, $result->id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -679,10 +681,11 @@ class core_completionlib_testcase extends advanced_testcase {
|
||||||
|
|
||||||
// Check cached data for other course modules in the course.
|
// Check cached data for other course modules in the course.
|
||||||
// The sample module created in setup_data() should suffice to confirm this.
|
// The sample module created in setup_data() should suffice to confirm this.
|
||||||
|
$othercm = get_coursemodule_from_instance('forum', $this->module1->id);
|
||||||
if ($wholecourse) {
|
if ($wholecourse) {
|
||||||
$this->assertArrayHasKey($this->module1->id, $cache->get($key));
|
$this->assertArrayHasKey($othercm->id, $cache->get($key));
|
||||||
} else {
|
} else {
|
||||||
$this->assertArrayNotHasKey($this->module1->id, $cache->get($key));
|
$this->assertArrayNotHasKey($othercm->id, $cache->get($key));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Otherwise, this should not be cached.
|
// Otherwise, this should not be cached.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue