-
Functional Test
-
Minor
-
Moodle 3.4
-
None
We are interested in hearing your feedback and suggestions for improvement. Feel free to post your thoughts in https://moodle.org/course/view.php?id=17233
Testing environment:
- This test requires a system with Python installed and the option to run phpunit tests.
Other info:
- Uninstall moodlemlbackend python package if you have it installed
Test:
- Log in as an admin
- Go to 'Site administration > Server > System paths' and ensure 'pathtopython' is not set
- Go to 'Analytics settings' in the Site administration and enable 'Analytics processes execution via command line only'.
- Log in as a manager and go to 'Analytics models' in the Site administration.
- Verify that a message is displayed stating that Models evaluations via the web interface is disabled.
- Verify that 'Get predictions' and 'Evaluate' are not available for any model in the 'Actions' menu.
- Log in as admin again and go to 'Analytics settings' and disable 'Analytics processes execution via command line only'.
- Set 'Time splitting methods' to Tenths and 'Tenths accumulative'.
- Log in as a manager again and go to 'Analytics models'.
- Verify that a message is displayed stating that evaluating models and generating predictions may involve heavy processing and it is recommended to run these actions via command line interface.
- Verify that 'Get predictions' is available in "No teaching" model action menu and 'Evaluate' is available in the 'Students at risk of dropping out' Actions menu.
- For 'Students at risk of dropping out' select 'Edit' in the 'Actions' column.
- Verify that the available options for 'Time-splitting method' are Tenths and 'Tenths accumulative'.
- Log in as admin again and go to 'Analytics settings' and reset 'Time splitting methods' to its default value: Quarters, 'Quarters accumulative' and 'Single range' and save.
- Set the predictions processor to 'Python machine learning backend' and save again.
- Verify that an error message is displayed saying that Python binary path is not defined.
- Go to 'System paths' and set pathtopython to your path. (You can just set it to 'python' if the binary directory is in your $PATH.)
- Return to 'Analytics settings' and verify that 'PHP machine learning backend' is still be the selected option. (The system shouldn't allow you to change it until all Python's ml backend requirements are satisfied).
- Change it again to 'Python machine learning backend'.
- Verify that a message saying that moodlemlbackend python package is not installed is displayed.
- Install moodlemlbackend python package (pip install moodlemlbackend; for more info, see the section 'Predictions processor' in the Analytics models documentation).
- Return to 'Analytics settings', save changes again and verify that the changes are saved correctly.
- Run all phpunit tests for analytics:
vendor/bin/phpunit --testsuite core_analytics_testsuite
Note that you will need to set $CFG->pathtopython in your config.php. - Verify all tests for analytics pass and none are skipped.