MDL-85738 mod: Update unit tests with AI access control fields

This commit is contained in:
Stevani Andolo
2025-09-03 18:30:27 +08:00
parent 5906a94e29
commit 057919fbd9
10 changed files with 52 additions and 10 deletions
+2 -2
View File
@@ -174,8 +174,8 @@ final class externallib_test extends \core_external\tests\externallib_testcase {
$this->assertCount(1, $books['books']);
$this->assertEquals('Second Book', $books['books'][0]['name']);
// We see 17 fields.
$this->assertCount(18, $books['books'][0]);
// We see 20 fields.
$this->assertCount(20, $books['books'][0]);
// As an Admin you can see some book properties like 'section'.
$this->assertEquals(0, $books['books'][0]['section']);
+5 -1
View File
@@ -144,7 +144,7 @@ final class externallib_test extends \core_external\tests\externallib_testcase {
// Create what we expect to be returned when querying the two courses.
$expectedfields = array('id', 'coursemodule', 'course', 'name', 'intro', 'introformat', 'introfiles', 'lang', 'revision',
'timemodified', 'display', 'showexpanded', 'showdownloadfolder', 'section', 'visible',
'forcedownload', 'groupmode', 'groupingid');
'forcedownload', 'groupmode', 'groupingid', 'enableaitools', 'enabledaiactions');
// Add expected coursemodule and data.
$folder1->coursemodule = $folder1->cmid;
@@ -155,6 +155,8 @@ final class externallib_test extends \core_external\tests\externallib_testcase {
$folder1->groupingid = 0;
$folder1->introfiles = [];
$folder1->lang = '';
$folder1->enableaitools = null;
$folder1->enabledaiactions = null;
$folder2->coursemodule = $folder2->cmid;
$folder2->introformat = 1;
@@ -164,6 +166,8 @@ final class externallib_test extends \core_external\tests\externallib_testcase {
$folder2->groupingid = 0;
$folder2->introfiles = [];
$folder2->lang = '';
$folder2->enableaitools = null;
$folder2->enabledaiactions = null;
foreach ($expectedfields as $field) {
$expected1[$field] = $folder1->{$field};
+5 -1
View File
@@ -71,7 +71,7 @@ final class externallib_test extends \core_external\tests\externallib_testcase {
// Create what we expect to be returned when querying the two courses.
$expectedfields = array('id', 'coursemodule', 'course', 'name', 'intro', 'introformat', 'introfiles', 'timemodified',
'section', 'visible', 'groupmode', 'groupingid', 'lang');
'section', 'visible', 'groupmode', 'groupingid', 'lang', 'enableaitools', 'enabledaiactions');
// Add expected coursemodule and data.
$label1->coursemodule = $label1->cmid;
@@ -82,6 +82,8 @@ final class externallib_test extends \core_external\tests\externallib_testcase {
$label1->groupingid = 0;
$label1->introfiles = [];
$label1->lang = '';
$label1->enableaitools = null;
$label1->enabledaiactions = null;
$label2->coursemodule = $label2->cmid;
$label2->introformat = 1;
@@ -91,6 +93,8 @@ final class externallib_test extends \core_external\tests\externallib_testcase {
$label2->groupingid = 0;
$label2->introfiles = [];
$label2->lang = '';
$label2->enableaitools = null;
$label2->enabledaiactions = null;
foreach ($expectedfields as $field) {
$expected1[$field] = $label1->{$field};
+7 -1
View File
@@ -208,6 +208,8 @@ final class externallib_test extends mod_lti_testcase {
$lti1->section = 0;
$lti1->introfiles = [];
$lti1->lang = '';
$lti1->enableaitools = null;
$lti1->enabledaiactions = null;
$lti2->coursemodule = $lti2->cmid;
$lti2->introformat = 1;
@@ -218,6 +220,8 @@ final class externallib_test extends mod_lti_testcase {
$lti2->section = 0;
$lti2->introfiles = [];
$lti2->lang = '';
$lti2->enableaitools = null;
$lti2->enabledaiactions = null;
foreach ($expectedfields as $field) {
$expected1[$field] = $lti1->{$field};
@@ -261,7 +265,9 @@ final class externallib_test extends mod_lti_testcase {
$additionalfields = array('timecreated', 'timemodified', 'typeid', 'toolurl', 'securetoolurl',
'instructorchoicesendname', 'instructorchoicesendemailaddr', 'instructorchoiceallowroster',
'instructorchoiceallowsetting', 'instructorcustomparameters', 'instructorchoiceacceptgrades', 'grade',
'resourcekey', 'password', 'debuglaunch', 'servicesalt', 'visible', 'groupmode', 'groupingid', 'section', 'lang');
'resourcekey', 'password', 'debuglaunch', 'servicesalt', 'visible', 'groupmode', 'groupingid', 'section', 'lang',
'enableaitools', 'enabledaiactions',
);
foreach ($additionalfields as $field) {
$expectedltis[0][$field] = $lti1->{$field};
+6 -1
View File
@@ -142,7 +142,8 @@ final class externallib_test extends \core_external\tests\externallib_testcase {
// Create what we expect to be returned when querying the two courses.
$expectedfields = array('id', 'coursemodule', 'course', 'name', 'intro', 'introformat', 'introfiles', 'lang',
'content', 'contentformat', 'contentfiles', 'legacyfiles', 'legacyfileslast', 'display',
'displayoptions', 'revision', 'timemodified', 'section', 'visible', 'groupmode', 'groupingid');
'displayoptions', 'revision', 'timemodified', 'section', 'visible', 'groupmode', 'groupingid',
'enableaitools', 'enabledaiactions');
// Add expected coursemodule and data.
$page1->coursemodule = $page1->cmid;
@@ -155,6 +156,8 @@ final class externallib_test extends \core_external\tests\externallib_testcase {
$page1->introfiles = [];
$page1->contentfiles = [];
$page1->lang = '';
$page1->enableaitools = null;
$page1->enabledaiactions = null;
$page2->coursemodule = $page2->cmid;
$page2->introformat = 1;
@@ -166,6 +169,8 @@ final class externallib_test extends \core_external\tests\externallib_testcase {
$page2->introfiles = [];
$page2->contentfiles = [];
$page2->lang = '';
$page2->enableaitools = null;
$page2->enabledaiactions = null;
foreach ($expectedfields as $field) {
$expected1[$field] = $page1->{$field};
+5 -1
View File
@@ -251,7 +251,7 @@ final class external_test extends \core_external\tests\externallib_testcase {
$allusersfields = ['id', 'coursemodule', 'course', 'name', 'intro', 'introformat', 'introfiles', 'lang',
'timeopen', 'timeclose', 'grademethod', 'section', 'visible', 'groupmode', 'groupingid',
'attempts', 'timelimit', 'grademethod', 'decimalpoints', 'questiondecimalpoints', 'sumgrades',
'grade', 'preferredbehaviour', 'hasfeedback'];
'grade', 'preferredbehaviour', 'hasfeedback', 'enableaitools', 'enabledaiactions'];
$userswithaccessfields = ['attemptonlast', 'reviewattempt', 'reviewcorrectness', 'reviewmaxmarks', 'reviewmarks',
'reviewspecificfeedback', 'reviewgeneralfeedback', 'reviewrightanswer',
'reviewoverallfeedback', 'questionsperpage', 'navmethod',
@@ -274,6 +274,8 @@ final class external_test extends \core_external\tests\externallib_testcase {
$quiz1->autosaveperiod = get_config('quiz', 'autosaveperiod');
$quiz1->introfiles = [];
$quiz1->lang = '';
$quiz1->enableaitools = null;
$quiz1->enabledaiactions = null;
$quiz2->coursemodule = $quiz2->cmid;
$quiz2->introformat = 1;
@@ -287,6 +289,8 @@ final class external_test extends \core_external\tests\externallib_testcase {
$quiz2->autosaveperiod = get_config('quiz', 'autosaveperiod');
$quiz2->introfiles = [];
$quiz2->lang = '';
$quiz2->enableaitools = null;
$quiz2->enabledaiactions = null;
foreach (array_merge($allusersfields, $userswithaccessfields) as $field) {
$expected1[$field] = $quiz1->{$field};
@@ -143,7 +143,8 @@ final class externallib_test extends \core_external\tests\externallib_testcase {
// Create what we expect to be returned when querying the two courses.
$expectedfields = array('id', 'coursemodule', 'course', 'name', 'intro', 'introformat', 'introfiles', 'lang',
'contentfiles', 'tobemigrated', 'legacyfiles', 'legacyfileslast', 'display', 'displayoptions',
'filterfiles', 'revision', 'timemodified', 'section', 'visible', 'groupmode', 'groupingid');
'filterfiles', 'revision', 'timemodified', 'section', 'visible', 'groupmode', 'groupingid',
'enableaitools', 'enabledaiactions');
// Add expected coursemodule and data.
$resource1->coursemodule = $resource1->cmid;
@@ -156,6 +157,8 @@ final class externallib_test extends \core_external\tests\externallib_testcase {
$resource1->introfiles = [];
$resource1->contentfiles = [];
$resource1->lang = '';
$resource1->enableaitools = null;
$resource1->enabledaiactions = null;
$resource2->coursemodule = $resource2->cmid;
$resource2->introformat = 1;
@@ -167,6 +170,8 @@ final class externallib_test extends \core_external\tests\externallib_testcase {
$resource2->introfiles = [];
$resource2->contentfiles = [];
$resource2->lang = '';
$resource2->enableaitools = null;
$resource2->enabledaiactions = null;
foreach ($expectedfields as $field) {
$expected1[$field] = $resource1->{$field};
+6 -1
View File
@@ -723,6 +723,8 @@ final class externallib_test extends \core_external\tests\externallib_testcase {
$scorm1->groupmode = 0;
$scorm1->groupingid = 0;
$scorm1->lang = '';
$scorm1->enableaitools = null;
$scorm1->enabledaiactions = null;
$scorm2->coursemodule = $scorm2->cmid;
$scorm2->section = 0;
@@ -730,6 +732,8 @@ final class externallib_test extends \core_external\tests\externallib_testcase {
$scorm2->groupmode = 0;
$scorm2->groupingid = 0;
$scorm2->lang = '';
$scorm2->enableaitools = null;
$scorm2->enabledaiactions = null;
// SCORM size. The same package is used in both SCORMs.
$scormcontext1 = \context_module::instance($scorm1->cmid);
@@ -806,7 +810,8 @@ final class externallib_test extends \core_external\tests\externallib_testcase {
$additionalfields = array('updatefreq', 'timemodified', 'options',
'completionstatusrequired', 'completionscorerequired', 'completionstatusallscos',
'autocommit', 'section', 'visible', 'groupmode', 'groupingid');
'autocommit', 'section', 'visible', 'groupmode', 'groupingid',
'enableaitools', 'enabledaiactions');
foreach ($additionalfields as $field) {
$fieldtype = $returndescription->keys['scorms']->content->keys[$field]->type;
+5 -1
View File
@@ -142,7 +142,7 @@ final class externallib_test extends \core_external\tests\externallib_testcase {
// Create what we expect to be returned when querying the two courses.
$expectedfields = array('id', 'coursemodule', 'course', 'name', 'intro', 'introformat', 'introfiles', 'lang',
'externalurl', 'display', 'displayoptions', 'parameters', 'timemodified', 'section', 'visible', 'groupmode',
'groupingid');
'groupingid', 'enableaitools', 'enabledaiactions');
// Add expected coursemodule and data.
$url1->coursemodule = $url1->cmid;
@@ -153,6 +153,8 @@ final class externallib_test extends \core_external\tests\externallib_testcase {
$url1->groupingid = 0;
$url1->introfiles = [];
$url1->lang = '';
$url1->enableaitools = null;
$url1->enabledaiactions = null;
$url2->coursemodule = $url2->cmid;
$url2->introformat = 1;
@@ -162,6 +164,8 @@ final class externallib_test extends \core_external\tests\externallib_testcase {
$url2->groupingid = 0;
$url2->introfiles = [];
$url2->lang = '';
$url2->enableaitools = null;
$url2->enabledaiactions = null;
foreach ($expectedfields as $field) {
$expected1[$field] = $url1->{$field};
@@ -273,6 +273,7 @@ final class externallib_test extends \core_external\tests\externallib_testcase {
// Create what we expect to be returned when querying the two courses.
// First for the student user.
$expectedfields = array('id', 'coursemodule', 'course', 'name', 'intro', 'introformat', 'introfiles', 'lang',
'enableaitools', 'enabledaiactions',
'firstpagetitle', 'wikimode', 'defaultformat', 'forceformat', 'editbegin', 'editend', 'section', 'visible',
'groupmode', 'groupingid');
@@ -286,6 +287,8 @@ final class externallib_test extends \core_external\tests\externallib_testcase {
$wiki1->groupingid = 0;
$wiki1->introfiles = [];
$wiki1->lang = '';
$wiki1->enableaitools = null;
$wiki1->enabledaiactions = null;
$wiki2->coursemodule = $wiki2->cmid;
$wiki2->introformat = 1;
@@ -295,6 +298,8 @@ final class externallib_test extends \core_external\tests\externallib_testcase {
$wiki2->groupingid = 0;
$wiki2->introfiles = [];
$wiki2->lang = '';
$wiki2->enableaitools = null;
$wiki2->enabledaiactions = null;
foreach ($expectedfields as $field) {
$expected1[$field] = $wiki1->{$field};