- You need a course with users, groups and users in groups
- Create a lesson and note values of settings that can be overridden. This includes:
- all the settings in the "Availability" section (Available from, Deadline, Time limit, Password)
- In the "Flow control" section "Provide option to try a question again" and "Maximum number of attempts"
- In the "Grade" section "Re-takes allowed"
- Create some user overrides, overriding some of the lesson settings and verify that they work as expected (that is only this user is affected, and lesson settings are correctly overridden)
- edit some of these overrides and verify the new values are taken into account
- verify duplicating a user override is working and if you can edit the duplicate without change to the original
- verify that if you create a new override for an user that already have one, they are merged when you save the second override
- verify that when you are on the edit override screen the "Save and enter another override" permit you to create a new override based on the previous one and both are correctly saved
- verify that if you create an override for a student and then unenrol that student from the course, the override is displayed greyed and a message "* Student does not have the correct group or role to view/attempt the lesson" is displayed below the overrides list.
- create some group overrides for the lesson
- verify only users in these groups are affected
- verify that if an user has both a group and an user override, the user one has precedence.
- verify that if an user is member of 2 different groups and there are group overrides for each of these groups, the most relaxed settings are applied.
- verify that if you delete a group for which there is an override created, it is correctly deleted (the same don't apply to user override, see last paragraph on user overrides)
Backup the course and restore it as a new course including user info, verify that all overrides are correctly restored and user, groups mappings are correct.
Do the same without including user info when restoring, verify that group overrides are correctly restored and mapped correctly, and verify (also checking the DB) that user overrides have not been restored.
Verify that availability and deadline dates are correctly shifted in all overrides.
Verify that an user with an override see correct events in the calendar, and that if this override is edited, calendar events are correctly updated
Verify that if a user or group override is deleted, corresponding calendar events are deleted