MDL-63564 mod_quiz: Added delete_quizaccess_data_for_users to polyfill
This issue is a part of the MDL-62560 Epic.
This commit is contained in:
committed by
Mihail Geshoski
parent
e1dca20127
commit
2a34d4b3fd
@@ -23,6 +23,8 @@
|
||||
*/
|
||||
namespace mod_quiz\privacy;
|
||||
|
||||
use core_privacy\local\request\approved_userlist;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
/**
|
||||
@@ -63,4 +65,13 @@ trait legacy_quizaccess_polyfill {
|
||||
public static function delete_quizaccess_data_for_user(\quiz $quiz, \stdClass $user) {
|
||||
static::_delete_quizaccess_data_for_user($quiz, $user);
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete all user data for the specified users, in the specified context.
|
||||
*
|
||||
* @param approved_userlist $userlist The approved context and user information to delete information for.
|
||||
*/
|
||||
public static function delete_quizaccess_data_for_users(approved_userlist $userlist) {
|
||||
static::_delete_quizaccess_data_for_users($userlist);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,7 +73,7 @@ class core_privacy_legacy_quizaccess_polyfill_test extends advanced_testcase {
|
||||
}
|
||||
|
||||
/**
|
||||
* Test the _delete_quizaccess_for_context shim.
|
||||
* Test the _delete_quizaccess_for_user shim.
|
||||
*/
|
||||
public function test_delete_quizaccess_for_user() {
|
||||
$context = context_system::instance();
|
||||
@@ -89,6 +89,23 @@ class core_privacy_legacy_quizaccess_polyfill_test extends advanced_testcase {
|
||||
test_privacy_legacy_quizaccess_polyfill_provider::$mock = $mock;
|
||||
test_privacy_legacy_quizaccess_polyfill_provider::delete_quizaccess_data_for_user($quiz, $user);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test the _delete_quizaccess_for_users shim.
|
||||
*/
|
||||
public function test_delete_quizaccess_for_users() {
|
||||
$context = $this->createMock(context_module::class);
|
||||
$user = (object) [];
|
||||
$approveduserlist = new \core_privacy\local\request\approved_userlist($context, 'mod_quiz', [$user]);
|
||||
|
||||
$mock = $this->createMock(test_privacy_legacy_quizaccess_polyfill_mock_wrapper::class);
|
||||
$mock->expects($this->once())
|
||||
->method('get_return_value')
|
||||
->with('_delete_quizaccess_data_for_users', [$approveduserlist]);
|
||||
|
||||
test_privacy_legacy_quizaccess_polyfill_provider::$mock = $mock;
|
||||
test_privacy_legacy_quizaccess_polyfill_provider::delete_quizaccess_data_for_users($approveduserlist);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -99,7 +116,8 @@ class core_privacy_legacy_quizaccess_polyfill_test extends advanced_testcase {
|
||||
*/
|
||||
class test_privacy_legacy_quizaccess_polyfill_provider implements
|
||||
\core_privacy\local\metadata\provider,
|
||||
\mod_quiz\privacy\quizaccess_provider {
|
||||
\mod_quiz\privacy\quizaccess_provider,
|
||||
\mod_quiz\privacy\quizaccess_user_provider {
|
||||
|
||||
use \mod_quiz\privacy\legacy_quizaccess_polyfill;
|
||||
use \core_privacy\local\legacy_polyfill;
|
||||
@@ -138,6 +156,15 @@ class test_privacy_legacy_quizaccess_polyfill_provider implements
|
||||
static::$mock->get_return_value(__FUNCTION__, func_get_args());
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete all user data for the specified users, in the specified context.
|
||||
*
|
||||
* @param \core_privacy\local\request\approved_userlist $userlist
|
||||
*/
|
||||
protected static function _delete_quizaccess_data_for_users($userlist) {
|
||||
static::$mock->get_return_value(__FUNCTION__, func_get_args());
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns metadata about this plugin.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user