The implements the new regrade-related hooks, and also has
tests for the changes to the core system, now that we have a question
type we can use for them.
This commit implements the necessary core hooks to ensure we only
allow a regrade of a quetion attempt to take place if the new and old
versions of the question are sufficiently similar.
It will be followed by commits to each question type where the
new method needs to be implemented.
Automated tests will be included in the first of those (mulitple choice)
becuse we need a question type that implements the hooks to test
the core changes.
This got lost in the 4.0 question bank work.
We are trying to phase out qtype_random, that is where the old
code and lang strings for describing random questions is, so
OK to add back a call to it. When we get better qbank filtering
we can replace this again.
Note, the asserts in the Behat were copied from my 3.11, checkout,
to really verify we are restoring the previous behaviour.
This fixes lots of stuff like outdated or incomplete PHPdoc comments
or test heler functions where the arguments don't have their types
declared.
A few more significant fixes, like places were a silly method
was used to get a context which was readily available.
This commit will add the index for the question_reference
and the question_set_reference table if its not already
added. This commit will also implement the logic of adding
the question area and component in the joins of the question
reference table in order to make sure any other plugin using
the qbank api does not conflict with each other.
This is the expected naming for a Behat file for a core component.
Note, there are no acutal references to the deprecated class name
in core, but there might be in plugins, so we added a
backwards compatibility class with the old name. Thanks to
Andrew Lyons for hints about how to do that.
This commit implements a question regrade for the selected
version in the quiz for a slot.
Co-Authored-By: Safat Shahin <safatshahin@catalyst-au.net>
Co-Authored-By: Tim Hunt <tim.hunt@open.ac.uk>
Various tests have been added to cover the points fixed in the previous
commit, using a localised decimal separator (#). Using the same
numbering, here there are the details:
A. grade/report/singleview/tests/behat/singleview.feature
grade/tests/behat/grade_category_validation.feature
B. grade/tests/behat/grade_override_letter.feature
C. (done within various scenarios)
D. grade/report/singleview/tests/behat/singleview.feature
E. admin/tool/behat/tests/behat_form_text_test.php
F. grade/tests/behat/grade_to_pass.feature
mod/lesson/tests/behat/lesson_informations_at_end.feature
G. quiz/tests/behat/preview.feature
H. mod/quiz/tests/behat/info_page.feature
I. question/type/ddimageortext/tests/behat/edit.feature