MDL-84304 mod_scorm: Remove the COMPLETION_COMPLETE_FAIL status
This commit is contained in:
committed by
Laurent David
parent
328810e933
commit
4de4029044
@@ -148,16 +148,6 @@ class custom_completion extends activity_custom_completion {
|
||||
break;
|
||||
}
|
||||
|
||||
// If not yet meeting the requirement and no attempts remain to complete it, mark it as failed.
|
||||
if ($status === COMPLETION_INCOMPLETE) {
|
||||
$scorm = $DB->get_record('scorm', ['id' => $this->cm->instance]);
|
||||
$attemptcount = scorm_get_attempt_count($this->userid, $scorm);
|
||||
|
||||
if ($scorm->maxattempt > 0 && $attemptcount >= $scorm->maxattempt) {
|
||||
$status = COMPLETION_COMPLETE_FAIL;
|
||||
}
|
||||
}
|
||||
|
||||
return $status;
|
||||
}
|
||||
|
||||
@@ -217,4 +207,3 @@ class custom_completion extends activity_custom_completion {
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -84,67 +84,67 @@ final class custom_completion_test extends advanced_testcase {
|
||||
|
||||
return [
|
||||
'Undefined completion requirement' => [
|
||||
'somenonexistentrule', COMPLETION_ENABLED, [$completionincomplete], 0, null, coding_exception::class
|
||||
'somenonexistentrule', COMPLETION_ENABLED, [$completionincomplete], 0, null, coding_exception::class,
|
||||
],
|
||||
'Completion status requirement not available' => [
|
||||
'completionstatusrequired', COMPLETION_DISABLED, [$completionincomplete], 0, null, moodle_exception::class
|
||||
'completionstatusrequired', COMPLETION_DISABLED, [$completionincomplete], 0, null, moodle_exception::class,
|
||||
],
|
||||
'Completion status Passed required, user has no completion status recorded' => [
|
||||
'completionstatusrequired', 2, [], 0, COMPLETION_INCOMPLETE, null
|
||||
'completionstatusrequired', 2, [], 0, COMPLETION_INCOMPLETE, null,
|
||||
],
|
||||
'Completion status Passed required, user has not passed, can make another attempt' => [
|
||||
'completionstatusrequired', 2, [$completionincomplete], 0, COMPLETION_INCOMPLETE, null
|
||||
'completionstatusrequired', 2, [$completionincomplete], 0, COMPLETION_INCOMPLETE, null,
|
||||
],
|
||||
'Completion status Passed required, user has passed' => [
|
||||
'completionstatusrequired', 2, [$completionpassed], 0, COMPLETION_COMPLETE, null
|
||||
'completionstatusrequired', 2, [$completionpassed], 0, COMPLETION_COMPLETE, null,
|
||||
],
|
||||
'Completion status Completed required, user has not completed, can make another attempt' => [
|
||||
'completionstatusrequired', 4, [$completionincomplete], 2, COMPLETION_INCOMPLETE, null
|
||||
'completionstatusrequired', 4, [$completionincomplete], 2, COMPLETION_INCOMPLETE, null,
|
||||
],
|
||||
'Completion status Completed required, user has completed' => [
|
||||
'completionstatusrequired', 4, [$completioncompleted], 1, COMPLETION_COMPLETE, null
|
||||
'completionstatusrequired', 4, [$completioncompleted], 1, COMPLETION_COMPLETE, null,
|
||||
],
|
||||
'Completion status Passed or Completed required, user has only completed, can make another attempt' => [
|
||||
'completionstatusrequired', 6, [$completioncompleted], 0, COMPLETION_COMPLETE, null
|
||||
'completionstatusrequired', 6, [$completioncompleted], 0, COMPLETION_COMPLETE, null,
|
||||
],
|
||||
'Completion status Passed or Completed required, user has completed and passed' => [
|
||||
'completionstatusrequired', 6, [$completionpassed, $completioncompleted], 0, COMPLETION_COMPLETE, null
|
||||
'completionstatusrequired', 6, [$completionpassed, $completioncompleted], 0, COMPLETION_COMPLETE, null,
|
||||
],
|
||||
'Completion status Passed or Completed required, user has not passed or completed, but has another attempt' => [
|
||||
'completionstatusrequired', 6, [$completionincomplete], 2, COMPLETION_INCOMPLETE, null
|
||||
'completionstatusrequired', 6, [$completionincomplete], 2, COMPLETION_INCOMPLETE, null,
|
||||
],
|
||||
'Completion status Passed or Completed required, user has used all attempts, but not passed or completed' => [
|
||||
'completionstatusrequired', 6, [$completionincomplete], 1, COMPLETION_COMPLETE_FAIL, null
|
||||
'completionstatusrequired', 6, [$completionincomplete], 1, COMPLETION_INCOMPLETE, null,
|
||||
],
|
||||
'Completion status Passed required, user has used all attempts and completed, but not passed' => [
|
||||
'completionstatusrequired', 2, [$completioncompleted], 1, COMPLETION_COMPLETE_FAIL, null
|
||||
'completionstatusrequired', 2, [$completioncompleted], 1, COMPLETION_INCOMPLETE, null,
|
||||
],
|
||||
'Completion status Completed required, user has used all attempts, but not completed' => [
|
||||
'completionstatusrequired', 4, [$completionincomplete], 1, COMPLETION_COMPLETE_FAIL, null
|
||||
'completionstatusrequired', 4, [$completionincomplete], 1, COMPLETION_INCOMPLETE, null,
|
||||
],
|
||||
'Completion status Passed or Completed required, user has used all attempts, but not passed' => [
|
||||
'completionstatusrequired', 6, [$completionincomplete, $completioncompleted], 2, COMPLETION_COMPLETE, null
|
||||
'completionstatusrequired', 6, [$completionincomplete, $completioncompleted], 2, COMPLETION_COMPLETE, null,
|
||||
],
|
||||
'Completion score required, user has no score' => [
|
||||
'completionscorerequired', 80, [], 0, COMPLETION_INCOMPLETE, null
|
||||
'completionscorerequired', 80, [], 0, COMPLETION_INCOMPLETE, null,
|
||||
],
|
||||
'Completion score required, user score does not meet requirement, can make another attempt' => [
|
||||
'completionscorerequired', 80, [$completionscorefail], 0, COMPLETION_INCOMPLETE, null
|
||||
'completionscorerequired', 80, [$completionscorefail], 0, COMPLETION_INCOMPLETE, null,
|
||||
],
|
||||
'Completion score required, user has used all attempts, but not reached the score' => [
|
||||
'completionscorerequired', 80, [$completionscorefail], 1, COMPLETION_COMPLETE_FAIL, null
|
||||
'completionscorerequired', 80, [$completionscorefail], 1, COMPLETION_INCOMPLETE, null,
|
||||
],
|
||||
'Completion score required, user score meets requirement' => [
|
||||
'completionscorerequired', 80, [$completionscorepass], 0, COMPLETION_COMPLETE, null
|
||||
'completionscorerequired', 80, [$completionscorepass], 0, COMPLETION_COMPLETE, null,
|
||||
],
|
||||
'Completion of all scos required, user has not completed, can make another attempt' => [
|
||||
'completionstatusallscos', 1, [$completionincomplete, $completioncompleted], 3, COMPLETION_INCOMPLETE, null
|
||||
'completionstatusallscos', 1, [$completionincomplete, $completioncompleted], 3, COMPLETION_INCOMPLETE, null,
|
||||
],
|
||||
'Completion of all scos required, user has completed' => [
|
||||
'completionstatusallscos', 1, [$completionpassed, $completioncompleted], 2, COMPLETION_COMPLETE, null
|
||||
'completionstatusallscos', 1, [$completionpassed, $completioncompleted], 2, COMPLETION_COMPLETE, null,
|
||||
],
|
||||
'Completion of all scos required, user has used all attempts, but not completed all scos' => [
|
||||
'completionstatusallscos', 1, [$completionincomplete, $completioncompleted], 2, COMPLETION_COMPLETE_FAIL, null
|
||||
'completionstatusallscos', 1, [$completionincomplete, $completioncompleted], 2, COMPLETION_INCOMPLETE, null,
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user