compilatio / moodle-plagiarism_compilatio

Compilatio.net plagiarism plugin for Moodle
4 stars 9 forks source link

Unit Test Failure - Missing metadata tags for user data in plagiarism_compilatio_cm_cfg table #123

Open niko-hoogeveen opened 2 months ago

niko-hoogeveen commented 2 months ago

When deploying a site using this plugin, a failure message appears due to missing metadata for userid field in plagiarism_compilatio_cm_cfg table.

Error: 2) core_privacy\privacy\provider_test::test_table_coverage The following tables with user fields must be covered with metadata providers: plagiarism_compilatio_cm_cfg (userid)

/var/www/site/privacy/tests/privacy/provider_test.php:328 /var/www/site/lib/phpunit/classes/advanced_testcase.php:80 phpvfscomposer:///var/www/site/vendor/phpunit/phpunit/phpunit:97

To fix this issue:

  1. Added metadata information regarding plagiarism_compilatio_cm_cfg table in /plagiarism/compilatio/classes/privacy/provider.php $collection->add_database_table('plagiarism_compilatio_cm_cfg', [ 'userid' => 'privacy:metadata:plagiarism_compilatio_cm_cfg:userid', 'cmid' => 'privacy:metadata:plagiarism_compilatio_cm_cfg:cmid', ], 'privacy:metadata:plagiarism_compilatio_cm_cfg');
  2. Added corresponding custom strings to lang/en file that describe the metadata added to the collection in the previous step $string['privacy:metadata:plagiarism_compilatio_cm_cfg'] = 'Information about config files'; $string['privacy:metadata:plagiarism_compilatio_cm_cfg:userid'] = 'The Moodle ID of the teacher'; $string['privacy:metadata:plagiarism_compilatio_cm_cfg:cmid'] = 'Compilatio ID of the module';