Compare commits

..

230 Commits

Author SHA1 Message Date
Jun Pataleta 73fc31dabf Moodle release 4.3.12 2025-04-13 09:52:00 +08:00
Huong Nguyen 75b685892e weekly release 4.3.11+ 2025-04-11 22:02:26 +07:00
Huong Nguyen e1a465e308 Merge branch 'install_403_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_403_STABLE 2025-04-11 22:02:25 +07:00
Sara Arjona fef55ab67f MDL-83994 course: Adapt PHPUnit to lower PHP versions 2025-04-11 19:25:11 +08:00
Huong Nguyen e34a6de8fc MDL-72704 message: Fix fetching for user has already contacted 2025-04-11 17:46:43 +08:00
Paul Holden 8b0c0899a2 MDL-84865 cohort: improve system report validation of parameters. 2025-04-11 12:46:56 +08:00
Jun Pataleta 53070e58e6 MDL-72704 message: Additional optimisation tweaks
* Return early if the `userids` params is empty or if the filtered
user IDs end up being empty.
2025-04-11 12:19:19 +08:00
Stevani Andolo 5f399c1fd6 MDL-72704 message: Fix fetching of conversation member info 2025-04-11 12:19:19 +08:00
raortegar 3cebc3ae93 MDL-85104 lib: Add additional check to local URLs params. 2025-04-11 10:22:42 +07:00
James C f985532070 MDL-83994 course: Respect course_can_delete_section() in AJAX 2025-04-11 13:06:39 +10:00
Paul Holden 07ec036d94 MDL-84473 repository_equella: safer unserializing of file references. 2025-04-11 09:52:23 +07:00
Paul Holden 4992ac10d4 MDL-84475 repository_dropbox: safer unserializing of file references. 2025-04-11 09:34:20 +07:00
Michael Hawkins 699c8b2762 MDL-85152 filter_tex: Update deny list and slash handling 2025-04-10 14:21:10 +08:00
Paul Holden 6e5f3f1bcb MDL-84478 tool_brickfield: verify sesskey prior to course analysis. 2025-04-10 13:07:24 +08:00
Paul Holden bf37322446 MDL-84499 block_rss_client: user access checks for viewing feed. 2025-04-10 12:32:48 +08:00
Paul Holden ede62f83d3 MDL-65356 mod_data: update entry editing/deletion to not leak sesskey. 2025-04-10 10:08:08 +07:00
Paul Holden 29a405d768 MDL-84750 course: require user be able to view course participants. 2025-04-10 09:30:34 +08:00
David Woloszyn 0556eee665 MDL-84351 tool_mfa: Fix guidance page file access
File uploaded to the guidance page were not accessible due to
null values being provided to $course and $cm params for the
tool_mfa_pluginfile.
2025-04-09 16:51:28 +07:00
raortegar fa44a1de53 MDL-84351 tool_mfa: Fix access to guide page when MFA login 2025-04-09 16:51:28 +07:00
David Woloszyn 25c2e8079d MDL-84351 tool_mfa: Check URL against allowed components for redirect 2025-04-09 16:51:28 +07:00
David Woloszyn ef8cf9fdce MDL-84351 url: Add method for getting slashargument 2025-04-09 16:51:27 +07:00
Paul Holden 8733010253 MDL-84479 tool_usertours: verify sesskey prior to tour duplication. 2025-04-08 16:16:22 +07:00
AMOS bot 1e86bbfdd6 Automatically generated installer lang files 2025-04-08 00:07:43 +00:00
Michael Hawkins 15e392cec5 MDL-85015 tool_mfa: Include extra param in email factor cancel check 2025-04-04 15:24:19 +00:00
David Woloszyn 062d760482 MDL-84784 tool_mfa: Remove enrol/index.php from no redirect 2025-04-04 15:24:19 +00:00
Huong Nguyen 835e2b76c3 weekly release 4.3.11+ 2025-04-04 22:20:18 +07:00
Jun Pataleta aa7b5a9632 Merge branch 'MDL-84907-403' of https://github.com/HuongNV13/moodle into MOODLE_403_STABLE 2025-04-04 11:30:58 +08:00
Shamim Rezaie 0606dcfbce Merge branch 'MDL-85000-403' of https://github.com/HuongNV13/moodle into MOODLE_403_STABLE 2025-04-03 06:14:13 +11:00
Sara Arjona 0f20b11843 weekly release 4.3.11+ 2025-03-28 12:48:28 +01:00
Sara Arjona fe1caf61ba Merge branch 'install_403_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_403_STABLE 2025-03-28 12:48:27 +01:00
Paul Holden d6eaf85e38 MDL-85048 core: define mapping for new America/Coyhaique zone.
Follows same process as other timezone additions in d5ec3594.
2025-03-28 08:58:46 +00:00
Huong Nguyen a2e327094e Merge branch 'MDL-85048-403' of https://github.com/lameze/moodle into MOODLE_403_STABLE 2025-03-28 15:01:25 +07:00
Simey Lameze ae9228b834 MDL-85048 phpunit: add america/coyhaique timezone 2025-03-28 15:00:26 +08:00
AMOS bot a2f1368e38 Automatically generated installer lang files 2025-03-28 00:08:36 +00:00
Huong Nguyen 307ad2348f MDL-85000 media_videojs: Enable Ogv.JS Tech for all browsers 2025-03-26 09:34:09 +07:00
Huong Nguyen 8e9bd4c55c weekly release 4.3.11+ 2025-03-26 08:56:08 +07:00
Huong Nguyen 95fea46186 Merge branch 'install_403_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_403_STABLE 2025-03-26 08:56:07 +07:00
Huong Nguyen b666531258 Merge branch 'MDL-83160-403' of https://github.com/mickhawkins/moodle into MOODLE_403_STABLE 2025-03-24 14:54:54 +07:00
AMOS bot 3f20152cac Automatically generated installer lang files 2025-03-22 00:07:44 +00:00
Huong Nguyen b883a7a21f weekly release 4.3.11+ 2025-03-21 22:04:15 +07:00
Huong Nguyen 75d8e9fb77 Merge branch 'install_403_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_403_STABLE 2025-03-21 22:04:14 +07:00
AMOS bot 162627b088 Automatically generated installer lang files 2025-03-21 00:07:45 +00:00
Huong Nguyen 3b374cdc8a MDL-84905 Behat: Fix I set the following administration settings failure 2025-03-19 09:17:33 +07:00
Huong Nguyen a85c9490b0 MDL-84907 backup: Fix invalid CTRL characters regex 2025-03-18 14:12:07 +07:00
Jun Pataleta 49bf20af0b Moodle release 4.3.11 2025-03-15 20:19:02 +08:00
Ilya Tregubov 03242ec12c MDL-81945 gradereport_singleview: Fix hidden grade handling.
Seems to become broken after IR refactoring.
2025-03-14 15:24:16 +00:00
Ilya Tregubov 48a3c783dd MDL-81945 gradereport_user: Don't reveal visibility by color.
Seems like dimmed_text class was added without proper check so
user can guess if item is hidden.
2025-03-14 15:24:16 +00:00
Ilya Tregubov acdcb722b0 MDL-81945 gradereport_user: Behat tests for user report. 2025-03-14 15:24:16 +00:00
Ilya Tregubov e692607aaa MDL-81945 gradereport_singleview: Behat tests for singleview report. 2025-03-14 15:24:16 +00:00
Ilya Tregubov 7f7f13bba0 MDL-81945 gradereport_grader: Behat tests for grader report 2025-03-14 15:24:16 +00:00
Ilya Tregubov 920a8be0e6 MDL-81945 core_grades: create Behat step for grades action menu. 2025-03-14 15:24:16 +00:00
Ilya Tregubov c1e2713764 MDL-81945 gradereport_singleview: Fix hidden grades handling.
If a user is lacking moodle/grade:viewhidden he should not be able
to view or modify grades.
2025-03-14 15:24:16 +00:00
Sara Arjona d3a8d50292 weekly release 4.3.10+ 2025-03-14 16:14:15 +01:00
Sara Arjona d0137c54a2 Merge branch 'install_403_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_403_STABLE 2025-03-14 16:14:12 +01:00
Michael Hawkins beb2fcb077 MDL-83160 core: Update security.txt expiry 2025-03-13 20:36:02 +08:00
Huong Nguyen 58ba3cf834 Merge branch 'MDL-84640-403' of https://github.com/andelacruz/moodle into MOODLE_403_STABLE 2025-03-12 16:32:40 +07:00
Angelia Dela Cruz f1c8f2281a MDL-84640 analytics: Behat for obtaining prediction models insights 2025-03-12 16:57:41 +08:00
Sara Arjona 03e8bddd1e Merge branch 'MDL-84801-403' of https://github.com/HuongNV13/moodle into MOODLE_403_STABLE 2025-03-11 17:26:37 +01:00
Huong Nguyen 2531818e3d MDL-84801 Behat: Fix Expand all fieldsets and advanced elements failure 2025-03-11 09:22:26 +07:00
AMOS bot e2a32ef88f Automatically generated installer lang files 2025-03-11 00:07:47 +00:00
AMOS bot e4a37ce710 Automatically generated installer lang files 2025-03-10 00:07:36 +00:00
Jun Pataleta a94925736c weekly release 4.3.10+ 2025-03-08 11:44:39 +08:00
Andrew Nicols b10657129e Merge branch 'MDL-84723-403' of https://github.com/lameze/moodle into MOODLE_403_STABLE 2025-03-06 11:51:21 +08:00
Simey Lameze 2cee750fdf MDL-84723 behat: final improvements and fixes to the test
This commit does few things:
- Remove unnecessary grade field to assign generator.
- Remove unnecessary comment lines.
- Update the warning message assertion to use the no-break space unicode character.
2025-03-06 11:24:16 +08:00
Angelia Dela Cruz 78a04159cd MDL-84723 gradingform: Behat for maximum grade mismatch in marking guide 2025-03-06 11:24:16 +08:00
Huong Nguyen eb87add2b2 Merge branch 'MDL-84425-403' of https://github.com/andelacruz/moodle into MOODLE_403_STABLE 2025-03-05 10:51:45 +07:00
Angelia Dela Cruz a952340811 MDL-84425 theme_boost: Behat for course section selector unavailable 2025-03-05 11:20:12 +08:00
Sara Arjona 21fe8a97e8 weekly release 4.3.10+ 2025-03-04 16:13:50 +01:00
Sara Arjona f2093b46e8 Merge branch 'install_403_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_403_STABLE 2025-03-04 16:13:49 +01:00
Huong Nguyen abea467757 Merge branch 'MDL-84595-403' of https://github.com/andrewnicols/moodle into MOODLE_403_STABLE 2025-03-04 10:55:44 +07:00
AMOS bot 2c4e86245b Automatically generated installer lang files 2025-03-02 00:08:09 +00:00
Sara Arjona ea80a7f049 weekly release 4.3.10+ 2025-02-27 16:54:57 +01:00
Simey Lameze 5e7238e637 MDL-84424 behat: add template_competencies generator and improve test 2025-02-27 07:55:31 +08:00
Angelia Dela Cruz 49e490d209 MDL-84424 tool_lp: admin can create learning plans from template 2025-02-27 07:54:33 +08:00
Sara Arjona 6009960edb Merge branch 'MDL-84609-403' of https://github.com/lameze/moodle into MOODLE_403_STABLE 2025-02-26 16:19:59 +01:00
Simey Lameze cdf2b01228 MDL-84609 behat: add required entities and fix failures
This commit also fix some typos and misaligned pipes around the
changed steps.

Signed-off-by: Simey Lameze <simey@moodle.com>
2025-02-25 11:52:14 +08:00
Angelia Dela Cruz c52babea18 MDL-84609 tool: Replaced tool_lp generators with standard generators 2025-02-25 11:52:14 +08:00
Huong Nguyen 9a528fbbb4 weekly release 4.3.10+ 2025-02-21 10:15:16 +07:00
Andrew Nicols beb5ba99e7 MDL-84595 tool_behat: Allow accessibility tests to run for a single Node 2025-02-20 22:28:24 +08:00
Jun Pataleta a689db2063 Merge branch 'MDL-84448-403' of https://github.com/lameze/moodle into MOODLE_403_STABLE 2025-02-20 12:10:06 +08:00
Simey Lameze 151542757f MDL-84448 behat: return null if theme has no config 2025-02-20 12:00:49 +08:00
Amanda Doughty 87b30d4ac6 MDL-84448 lib: Fixed behat context check for grandchild themes 2025-02-20 12:00:49 +08:00
Jun Pataleta 14772da46c Merge branch 'MDL-84592-403' of https://github.com/andrewnicols/moodle into MOODLE_403_STABLE 2025-02-20 11:45:44 +08:00
Jun Pataleta 58b9066111 Merge branch 'MDL-84590-403' of https://github.com/andrewnicols/moodle into MOODLE_403_STABLE 2025-02-20 10:50:01 +08:00
Andrew Nicols eac184c754 MDL-84592 tool_behat: Improve accessibility failure information 2025-02-20 10:26:38 +08:00
Huong Nguyen dca015783d Merge branch 'MDL-84498-403' of https://github.com/lameze/moodle into MOODLE_403_STABLE 2025-02-20 09:22:42 +07:00
Andrew Nicols b086bc5387 MDL-84590 tool_behat: Axe tests must use all wcag rules
Rules are not additive. That is to say that the wcag22a tag does not
include wcag21a or wcag2a. They all need to be specified.
2025-02-20 09:59:56 +08:00
Jason Den Dulk b82a60b3cf MDL-84498 lib: Fix reflection property regression. 2025-02-20 09:35:26 +08:00
Jun Pataleta 5e7cde3baf weekly release 4.3.10+ 2025-02-14 09:54:00 +08:00
Jun Pataleta cbb94d0f87 Merge branch 'install_403_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_403_STABLE 2025-02-14 09:53:58 +08:00
Jun Pataleta 5f3057cb7c Merge branch 'MDL-84102-403' of https://github.com/andelacruz/moodle into MOODLE_403_STABLE 2025-02-13 11:49:03 +08:00
Angelia Dela Cruz 71e551b03f MDL-84102 message: Behat for setting default notification preferences 2025-02-12 15:36:49 +08:00
Huong Nguyen 69f3c42284 Merge branch 'MDL-84414-403' of https://github.com/andelacruz/moodle into MOODLE_403_STABLE 2025-02-11 11:18:00 +07:00
Angelia Dela Cruz 735f25dceb MDL-84414 gradingform_guide: Behat test to set marking guide as ready 2025-02-11 11:15:19 +08:00
AMOS bot 4725303f8c Automatically generated installer lang files 2025-02-11 00:09:15 +00:00
Sara Arjona f4f9dd8eac Moodle release 4.3.10 2025-02-07 12:18:09 +01:00
Sara Arjona 8075bbd23d weekly release 4.3.9+ 2025-02-06 16:21:51 +01:00
Laurent David a882939708 MDL-84271 core_course: Validate module list in search
* We need to validate the list of modules in the course search

Co-authored-by: Lars Bonczek <bonczek@math.tu-berlin.de>
2025-02-06 11:19:04 +08:00
Paul Holden e51fd749a7 MDL-84003 mod_glossary: capability check restoring trusted entry text. 2025-02-06 10:52:24 +08:00
Paul Holden 0ddd05e560 MDL-84145 report_loglive: format event description as plain text. 2025-02-06 09:44:42 +07:00
Leon Stringer 870d4f60da MDL-79976 mod_feedback: Check group for response
Check the teacher's group membership if group mode is SEPARATEGROUPS
prior to showing or deleting responses.
2025-02-05 18:14:29 +01:00
Paul Holden 50aadb0400 MDL-84239 badges: correct context check when disabling badge. 2025-02-04 15:20:22 +08:00
David Woloszyn eb60d29446 MDL-84136 filter_tex: Improve sanitization of forbidden items 2025-02-04 11:36:01 +07:00
Mark Johnson 47fb1d93af MDL-84146 question: Improve handling of JS parameters 2025-02-03 14:06:59 +07:00
meirzamoodle 4bf0e1efc4 MDL-84023 lib: Update requirejs to 2.3.7 2025-01-31 02:24:26 +00:00
Marina Glancy 86d74279c5 MDL-83941 tags: prevent users from browsing unsearchable collections 2025-01-31 02:24:26 +00:00
Mihail Geshoski f3b0e54bc9 MDL-82896 qtype_ddimageortext: Clean drop zone label text
It is unnecessary to allow HTML to be added to the drop zone label text,
as this content is hidden and only accessible to screen readers.
Additionally, the content is currently not properly formatted, which
introduces a risk for potential XSS exploits. This change ensures that
only plain text (PARAM_TEXT) is allowed when adding content and that the
content is properly formatted before being output.
2025-01-31 02:24:26 +00:00
Huong Nguyen a93fcef028 weekly release 4.3.9+ 2025-01-31 09:20:42 +07:00
Huong Nguyen 6588377dd3 Merge branch 'install_403_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_403_STABLE 2025-01-31 09:20:40 +07:00
Huong Nguyen 23c09b61fb Merge branch 'MDL-84103-403' of https://github.com/andelacruz/moodle into MOODLE_403_STABLE 2025-01-30 11:10:28 +07:00
Angelia Dela Cruz 6ea00054ee MDL-84103 imscc: Behat test for import IMS Cartridge to course 2025-01-30 11:28:11 +08:00
Sara Arjona 047a063597 Merge branch 'MDL-84355-403' of https://github.com/andrewnicols/moodle into MOODLE_403_STABLE 2025-01-29 08:10:06 +01:00
Andrew Nicols c6b7527e03 MDL-84355 phpunit: Exclude fixtures from testsuite search 2025-01-29 11:46:02 +08:00
Andrew Nicols e7fa3eb681 MDL-84355 phpunit: Correct test path for component configs 2025-01-29 11:46:01 +08:00
AMOS bot 575e0103c7 Automatically generated installer lang files 2025-01-28 00:07:42 +00:00
Sara Arjona 42a8b0c521 weekly release 4.3.9+ 2025-01-23 17:35:06 +01:00
Sara Arjona 3ebd351cc9 Merge branch 'install_403_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_403_STABLE 2025-01-23 17:35:04 +01:00
Huong Nguyen 32e2dca306 Merge branch 'MDL-84101-403' of https://github.com/lameze/moodle into MOODLE_403_STABLE 2025-01-23 09:09:46 +07:00
Huong Nguyen cecf12a810 Merge branch 'MDL-84249-403' of https://github.com/lameze/moodle into MOODLE_403_STABLE 2025-01-23 09:03:00 +07:00
Simey Lameze b11718d7b9 MDL-84101 behat: add step to save changes
Signed-off-by: Simey Lameze <simey@moodle.com>
2025-01-23 07:28:20 +08:00
Angelia Dela Cruz 2196b091bd MDL-84101 message: Behat test for managing notification options 2025-01-23 07:28:20 +08:00
Sara Arjona 853f96fea7 Merge branch 'MDL-81043-403' of https://github.com/HuongNV13/moodle into MOODLE_403_STABLE 2025-01-20 16:03:42 +01:00
Simey Lameze bc4af11917 MDL-84249 behat: remove unnecessary javascript tag
This commit also make the repeated scenario names unique.
2025-01-20 14:00:10 +08:00
Jun Pataleta d6147ce5e2 Merge branch 'MDL-83814-403' of https://github.com/andrewnicols/moodle into MOODLE_403_STABLE 2025-01-20 09:58:16 +08:00
Huong Nguyen 7890f5650d MDL-81043 gradereport_grader: Improve gradereport_grader/collapse
- This will helps `nodesUpdate` handle asynchronous updates better
- This also helps to fix Random Behat failure
2025-01-17 15:55:24 +07:00
AMOS bot f325ae21ff Automatically generated installer lang files 2025-01-17 00:07:45 +00:00
Huong Nguyen 73581e38f0 weekly release 4.3.9+ 2025-01-16 23:46:53 +07:00
Huong Nguyen edb9d874ae Merge branch 'install_403_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_403_STABLE 2025-01-16 23:46:51 +07:00
Jun Pataleta 61d40f20cb Merge branch 'MDL-83826-403' of https://github.com/lameze/moodle into MOODLE_403_STABLE 2025-01-16 10:22:11 +08:00
Jun Pataleta 4a3be4bd28 Merge branch 'MDL-83172-403-test' of https://github.com/meirzamoodle/moodle into MOODLE_403_STABLE 2025-01-15 17:02:23 +08:00
Angelia Dela Cruz 0ca3aad0ab MDL-83826 core_admin: Behat coverage for plugins overview for admins 2025-01-15 14:02:44 +08:00
meirzamoodle 1bc6659dc6 MDL-83172 environment: Fix undefined array key error 2025-01-14 16:34:43 +07:00
meirzamoodle bafa2ac0f7 MDL-83172 environment: Remove Oracle from LMS 2025-01-14 16:34:43 +07:00
Jun Pataleta 27497670f2 Merge branch 'MDL-84124-403' of https://github.com/andrewnicols/moodle into MOODLE_403_STABLE 2025-01-14 11:12:34 +08:00
AMOS bot 31a2c21b90 Automatically generated installer lang files 2025-01-14 00:07:35 +00:00
Andrew Nicols 94676ef5c1 MDL-83814 core: Bump Node to latest LTS 2025-01-13 09:07:09 +08:00
AMOS bot a9dd5eecdc Automatically generated installer lang files 2025-01-13 00:07:43 +00:00
Andrew Nicols e54798475a MDL-84152 tests: Remove extraneous / in external file URL generation 2025-01-10 14:39:49 +08:00
AMOS bot bdbb1f2243 Automatically generated installer lang files 2025-01-09 00:09:52 +00:00
Andrew Nicols cf5fbd0c56 MDL-84124 cache: Purge Redis cache between tests 2025-01-09 08:00:51 +08:00
AMOS bot adf2d2d9f6 Automatically generated installer lang files 2025-01-08 00:07:40 +00:00
Huong Nguyen 59a432a66d weekly release 4.3.9+ 2025-01-03 13:54:19 +07:00
Huong Nguyen 8436787deb Merge branch 'install_403_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_403_STABLE 2025-01-03 13:54:17 +07:00
AMOS bot 1490b839c8 Automatically generated installer lang files 2025-01-01 00:07:46 +00:00
AMOS bot 994cf2d2e0 Automatically generated installer lang files 2024-12-25 00:18:36 +00:00
Huong Nguyen 0e70f4732b Merge branch 'MDL-83988-403' of https://github.com/andrewnicols/moodle into MOODLE_403_STABLE 2024-12-24 09:30:07 +07:00
AMOS bot 8291ad554e Automatically generated installer lang files 2024-12-22 00:08:02 +00:00
AMOS bot 90ad501d05 Automatically generated installer lang files 2024-12-21 00:07:33 +00:00
AMOS bot 6f4c5dba6c Automatically generated installer lang files 2024-12-20 00:07:38 +00:00
Jun Pataleta eedd50b245 weekly release 4.3.9+ 2024-12-19 20:08:25 +08:00
Jun Pataleta db32329799 Merge branch 'install_403_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_403_STABLE 2024-12-19 20:08:23 +08:00
Jun Pataleta f48a232a13 Merge branch 'MDL-84026-403' of https://github.com/andrewnicols/moodle into MOODLE_403_STABLE 2024-12-18 13:24:30 +08:00
Andrew Nicols 16708c6225 Merge branch 'MDL-84018-403' of https://github.com/lameze/moodle into MOODLE_403_STABLE 2024-12-18 10:58:56 +08:00
Andrew Nicols 64e9a406ec MDL-84026 core: Update GitHub Funding to point to fund.moodle.org 2024-12-18 10:46:03 +08:00
Huong Nguyen 2c3fe2b361 Merge branch 'MDL-84000-403' of https://github.com/paulholden/moodle into MOODLE_403_STABLE 2024-12-18 09:05:24 +07:00
Sara Arjona cd5b957f62 Merge branch 'MDL-83696-403' of https://github.com/andelacruz/moodle into MOODLE_403_STABLE 2024-12-17 07:42:07 +01:00
Angelia Dela Cruz d250ba9815 MDL-83696 core_tag: Added behat for book chapter and glossary entry tags 2024-12-17 13:47:52 +08:00
Simey Lameze 448862a2eb MDL-84018 phpunit: extend test class to advanced_testcase
Signed-off-by: Simey Lameze <simey@moodle.com>
2024-12-17 07:07:20 +08:00
AMOS bot 8e9a923d8b Automatically generated installer lang files 2024-12-15 00:08:17 +00:00
Paul Holden e426e74461 MDL-84000 reportbuilder: move testcase helper to autoloaded namespace.
Clean up some class imports while we're at it.
2024-12-13 10:57:02 +00:00
Huong Nguyen 0ee33574bf weekly release 4.3.9+ 2024-12-13 08:58:34 +07:00
Huong Nguyen 5a86d61dee Merge branch 'install_403_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_403_STABLE 2024-12-13 08:58:32 +07:00
Andrew Nicols bd38b1bfda MDL-83988 core: Hide common machine-read files 2024-12-11 23:35:55 +08:00
Andrew Nicols bef27ef23f MDL-81520 mod_assign: Update tests to not extend assign_provider test 2024-12-11 12:30:22 +08:00
Andrew Nicols cc54b4e78a MDL-81520 core: Fix test finality 2024-12-11 12:30:21 +08:00
AMOS bot bcd31cde1e Automatically generated installer lang files 2024-12-11 00:07:41 +00:00
AMOS bot a38302e489 Automatically generated installer lang files 2024-12-10 00:07:42 +00:00
AMOS bot 50d9c0a77c Automatically generated installer lang files 2024-12-08 00:07:59 +00:00
Huong Nguyen 9dbf9e9829 Moodle release 4.3.9 2024-12-06 13:12:35 +07:00
Huong Nguyen c8a852421a weekly release 4.3.8+ 2024-12-05 22:33:04 +07:00
Huong Nguyen 4bd53a83f5 MDL-83921 competency: Update unit tests with latest changes 2024-12-05 18:37:16 +08:00
Huong Nguyen 248db026b7 MDL-82379 core_user: Move email change token to user private access key 2024-12-05 13:38:30 +08:00
Huong Nguyen 5c292ac705 MDL-83921 competency: Bump version 2024-12-05 11:22:01 +07:00
Michael Hawkins 7fb2046b9d MDL-83921 competency: Match web service capability check with page check 2024-12-05 11:21:51 +07:00
Huong Nguyen 2e71e71afc MDL-82963 Tag: Improve validation for users tagged with sepecified tag 2024-12-05 11:03:26 +08:00
Laurent David 9acaaefc07 MDL-82757 mod_data: Improve group access handling
* Improved handling of group access to ensure correct visibility of records.
2024-12-04 02:44:21 +00:00
Jun Pataleta e78fbde263 MDL-61316 core: Fix session gc unit tests 2024-12-04 02:44:21 +00:00
meirzamoodle 5a83858244 MDL-61316 core: Removed 5x multiplier from guest session expiration 2024-12-04 02:44:21 +00:00
Mark Johnson 1c8874a29a MDL-83357 question: Fix filter cleaning in page links 2024-12-04 02:44:21 +00:00
Mark Johnson a81957cb08 MDL-83357 question: Additional cleaning of filter params 2024-12-04 02:44:21 +00:00
Huong Nguyen db6abd4ce5 Merge branch 'MDL-82946-403' of https://github.com/lameze/moodle into MOODLE_403_STABLE 2024-12-04 09:39:57 +07:00
Angelia Dela Cruz 90026cf089 MDL-82946 qbank: Behat coverage for questions bulk actions 2024-12-03 10:42:40 +08:00
Sara Arjona b819eca2d4 weekly release 4.3.8+ 2024-11-29 12:37:08 +01:00
Jun Pataleta 05d855308d MDL-83470 environment: Put back Oracle support for now
Even though Oracle support is planned to be dropped for 5.0, the
actual issue that drops it (MDL-83172) has not yet landed. So, it's
better to keep this in environment.xml for now and defer its removal
from environment.xml in MDL-83172.
2024-11-28 16:06:22 +07:00
Huong Nguyen d79ebd7618 Merge branch 'MDL-83470-403' of https://github.com/junpataleta/moodle into MOODLE_403_STABLE 2024-11-28 11:04:24 +07:00
Huong Nguyen 1ad00a078c Merge branch 'MDL-83643-403' of https://github.com/lameze/moodle into MOODLE_403_STABLE 2024-11-28 09:21:58 +07:00
Andrew Nicols 7c8a9ca226 MDL-83788 mod_glossary: Correct assertions for assertArrayHasKey 2024-11-27 13:26:01 +11:00
Jun Pataleta 5cc1d88e69 weekly release 4.3.8+ 2024-11-22 22:27:05 +08:00
Jun Pataleta dcc9c83b49 MDL-83470 core: Define environment requirements for Moodle 5.0 2024-11-21 17:35:34 +08:00
Andrew Nicols 175f20919d Merge branch 'MDL-83551-403' of https://github.com/lameze/moodle into MOODLE_403_STABLE 2024-11-21 12:26:58 +08:00
Jun Pataleta e5da004e9b Merge branch 'MDL-81521-403' of https://github.com/andrewnicols/moodle into MOODLE_403_STABLE 2024-11-19 15:15:30 +08:00
Huong Nguyen fa5ffe056b Merge branch 'MDL-83610-403' of https://github.com/marinaglancy/moodle into MOODLE_403_STABLE 2024-11-19 09:29:13 +07:00
Andrew Nicols ba6abd2c0b MDL-81521 mod_quiz: Fix attempt walkthrough tests 2024-11-19 09:30:52 +08:00
Andrew Nicols 3bd5f52e22 MDL-81521 core: Update all possibly data providers to be static
Note: Some data providers could not be automatically be converted to
being static. These will be handled in a separate issue.
2024-11-19 09:30:51 +08:00
Marina Glancy 5733cf3990 MDL-83610 behat: allow to set date fields in groups 2024-11-18 10:37:29 +00:00
Huong Nguyen ba7e9f33ed weekly release 4.3.8+ 2024-11-15 09:21:43 +07:00
Jun Pataleta a55a276100 Merge branch 'MDL-80926-403' of https://github.com/lameze/moodle into MOODLE_403_STABLE 2024-11-14 12:05:22 +08:00
Huong Nguyen 63c59f01fa Merge branch 'MDL-80689_403' of https://github.com/timhunt/moodle into MOODLE_403_STABLE 2024-11-13 14:01:19 +07:00
Simey Lameze 687dcf55e2 MDL-83643 behat: make manual completion scenario names unique 2024-11-13 07:18:09 +08:00
Simey Lameze 4e3d6fe258 MDL-83551 behat: make duplicated scenario names unique 2024-11-13 06:55:16 +08:00
Huong Nguyen 511d2cbad8 weekly release 4.3.8+ 2024-11-08 13:56:48 +07:00
Huong Nguyen 60fb10f6d5 Merge branch 'MDL-83619-403' of https://github.com/lameze/moodle into MOODLE_403_STABLE 2024-11-07 11:06:06 +07:00
Huong Nguyen 18f08ec3f7 Merge branch 'MDL-83611-403' of https://github.com/lameze/moodle into MOODLE_403_STABLE 2024-11-07 11:02:49 +07:00
Simey Lameze 0f2a2e6109 MDL-80926 behat: fix random and improve h5p completion test 2024-11-06 13:37:11 +08:00
Simey Lameze 158240ddf5 MDL-83619 behat: enable bbb module early in the test 2024-11-05 10:23:41 +08:00
Huong Nguyen 6aace0164e weekly release 4.3.8+ 2024-11-01 14:29:31 +07:00
Huong Nguyen 5c5b951797 Merge branch 'install_403_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_403_STABLE 2024-11-01 14:29:29 +07:00
Simey Lameze 4831c5321c MDL-83611 behat: increase window size to avoid randoms 2024-11-01 10:35:07 +08:00
Huong Nguyen 21c5a52209 Merge branch 'MDL-82911-403-fix' of https://github.com/lameze/moodle into MOODLE_403_STABLE 2024-10-31 14:15:05 +07:00
Simey Lameze 80ae1a4070 MDL-82911 behat: change future times example to minutes 2024-10-31 14:15:56 +08:00
Huong Nguyen 8042e88e3e Merge branch 'MDL-82911-403' of https://github.com/andelacruz/moodle into MOODLE_403_STABLE 2024-10-31 11:03:54 +07:00
Huong Nguyen 485ecc840e Merge branch 'MDL-83414-403' of https://github.com/lameze/moodle into MOODLE_403_STABLE 2024-10-31 10:39:03 +07:00
Angelia Dela Cruz 75f7ebb19c MDL-83414 core_grades: Behat to test custom scale display 2024-10-31 09:46:48 +08:00
Tim Hunt 9ff3c199a2 MDL-80689 behat: add a transformation to get dirroot 2024-10-30 14:10:30 +00:00
Angelia Dela Cruz 8cad942a95 MDL-82911 mod_bigbluebuttonbn: Behat for BBB open and close date time 2024-10-29 12:35:01 +08:00
AMOS bot f70486d106 Automatically generated installer lang files 2024-10-29 00:07:46 +00:00
Shamim Rezaie 08e4f06bc3 weekly release 4.3.8+ 2024-10-18 23:29:04 +11:00
Shamim Rezaie 075f2a2a77 Merge branch 'install_403_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_403_STABLE 2024-10-18 23:29:02 +11:00
Jun Pataleta 877fcd88e0 Merge branch 'MDL-83002-403' of https://github.com/marinaglancy/moodle into MOODLE_403_STABLE 2024-10-16 20:32:34 +08:00
AMOS bot 351f383eda Automatically generated installer lang files 2024-10-15 00:09:27 +00:00
AMOS bot 47032e322b Automatically generated installer lang files 2024-10-13 00:07:49 +00:00
Jake Dallimore 28b69f56c4 weekly release 4.3.8+ 2024-10-11 10:55:10 +08:00
Jake Dallimore 46c1d8d4d2 Merge branch 'install_403_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_403_STABLE 2024-10-11 10:55:08 +08:00
Jun Pataleta 58502bb663 Merge branch 'MDL-82912-403' of https://github.com/andelacruz/moodle into MOODLE_403_STABLE 2024-10-10 10:35:11 +08:00
Angelia Dela Cruz 69ba92c13f MDL-82912 mod_workshop: Behat to view assessment after workshop close 2024-10-09 16:56:23 +08:00
Huong Nguyen b8291bca52 Merge branch 'MDL-83331_403' of https://github.com/timhunt/moodle into MOODLE_403_STABLE 2024-10-09 14:47:29 +07:00
AMOS bot 14fbef371c Automatically generated installer lang files 2024-10-09 00:09:20 +00:00
AMOS bot 5f0564606c Automatically generated installer lang files 2024-10-08 00:07:43 +00:00
Tim Hunt 6939aacf16 MDL-83331 behat: enable navigation direct to mod/.../index.php 2024-10-07 12:05:26 +01:00
Marina Glancy eb07eaef1e MDL-83002 theme_boost: tell behat to wait when initialising drawers 2024-10-03 15:58:14 +01:00
1834 changed files with 8664 additions and 5154 deletions
+3
View File
@@ -1,3 +1,6 @@
**/yui/build/** -diff
**/amd/build/** -diff
lib/dml/oci_native_moodle_package.sql text eol=lf
**.js.map -diff
**-min.js -diff
**.min.js -diff
+1 -1
View File
@@ -1,2 +1,2 @@
# Primary donations pages.
custom: ["https://moodle.com/donations/", moodle.org]
custom: ["https://moodle.com/donations/", "https://fund.moodle.org"]
+1 -1
View File
@@ -1 +1 @@
lts/iron
lts/jod
+192
View File
@@ -4703,4 +4703,196 @@
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
<MOODLE version="5.0" requires="4.2.3">
<UNICODE level="required">
<FEEDBACK>
<ON_ERROR message="unicoderequired" />
</FEEDBACK>
</UNICODE>
<DATABASE level="required">
<VENDOR name="mariadb" version="10.11.0" />
<VENDOR name="mysql" version="8.4" />
<VENDOR name="postgres" version="14" />
<VENDOR name="mssql" version="14.0" />
</DATABASE>
<PHP version="8.2.0" level="required">
</PHP>
<PCREUNICODE level="optional">
<FEEDBACK>
<ON_CHECK message="pcreunicodewarning" />
</FEEDBACK>
</PCREUNICODE>
<PHP_EXTENSIONS>
<PHP_EXTENSION name="iconv" level="required">
<FEEDBACK>
<ON_ERROR message="iconvrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="mbstring" level="required">
<FEEDBACK>
<ON_ERROR message="mbstringrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="curl" level="required">
<FEEDBACK>
<ON_ERROR message="curlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="openssl" level="required">
<FEEDBACK>
<ON_ERROR message="opensslrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="tokenizer" level="optional">
<FEEDBACK>
<ON_CHECK message="tokenizerrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="soap" level="optional">
<FEEDBACK>
<ON_CHECK message="soaprecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="ctype" level="required">
<FEEDBACK>
<ON_ERROR message="ctyperequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zip" level="required">
<FEEDBACK>
<ON_ERROR message="ziprequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zlib" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="gd" level="required">
<FEEDBACK>
<ON_ERROR message="gdrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="simplexml" level="required">
<FEEDBACK>
<ON_ERROR message="simplexmlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="spl" level="required">
<FEEDBACK>
<ON_ERROR message="splrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="pcre" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="dom" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xml" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xmlreader" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="intl" level="required">
<FEEDBACK>
<ON_ERROR message="intlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="json" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="hash" level="required"/>
<PHP_EXTENSION name="fileinfo" level="required"/>
<PHP_EXTENSION name="sodium" level="required"/>
<PHP_EXTENSION name="exif" level="optional"/>
</PHP_EXTENSIONS>
<PHP_SETTINGS>
<PHP_SETTING name="memory_limit" value="96M" level="required">
<FEEDBACK>
<ON_ERROR message="settingmemorylimit" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="file_uploads" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="settingfileuploads" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="opcache.enable" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="opcacherecommended" />
</FEEDBACK>
</PHP_SETTING>
</PHP_SETTINGS>
<CUSTOM_CHECKS>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbstorageengine" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
<FEEDBACK>
<ON_ERROR message="quizattemptsupgradedmessage" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
<FEEDBACK>
<ON_CHECK message="slashargumentswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
<FEEDBACK>
<ON_CHECK message="unsupporteddbtablerowformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
<FEEDBACK>
<ON_CHECK message="unoconvwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
<FEEDBACK>
<ON_CHECK message="libcurlwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfileformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfilepertable" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddblargeprefix" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
<FEEDBACK>
<ON_CHECK message="ishttpswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
<FEEDBACK>
<ON_CHECK message="incompleteunicodesupport" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_sixtyfour_bits" level="required">
<FEEDBACK>
<ON_ERROR message="sixtyfourbitsrequired" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_max_input_vars" level="optional">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_admin_dir_usage" level="optional">
<FEEDBACK>
<ON_CHECK message="iscustomadminwarnings" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_xmlrpc_usage" level="optional">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mod_assignment" level="required">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_db_prefix_length" level="required">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_async_backup" level="recommended">
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
</COMPATIBILITY_MATRIX>
+2 -2
View File
@@ -25,7 +25,7 @@ namespace core_adminpresets;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass core_adminpresets_generator
*/
class generator_test extends \advanced_testcase {
final class generator_test extends \advanced_testcase {
/**
* Test the behaviour of create_preset() method.
@@ -180,7 +180,7 @@ class generator_test extends \advanced_testcase {
*
* @return array
*/
public function create_preset_provider(): array {
public static function create_preset_provider(): array {
return [
'Default values' => [
],
+5 -5
View File
@@ -25,7 +25,7 @@ namespace core_adminpresets;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass helper
*/
class helper_test extends \advanced_testcase {
final class helper_test extends \advanced_testcase {
/**
* Test the behaviour of create_preset() method.
@@ -84,7 +84,7 @@ class helper_test extends \advanced_testcase {
*
* @return array
*/
public function create_preset_provider(): array {
public static function create_preset_provider(): array {
return [
'Default values' => [
],
@@ -177,7 +177,7 @@ class helper_test extends \advanced_testcase {
*
* @return array
*/
public function add_item_provider(): array {
public static function add_item_provider(): array {
return [
'Setting without plugin' => [
'name' => 'settingname',
@@ -239,7 +239,7 @@ class helper_test extends \advanced_testcase {
*
* @return array
*/
public function add_plugin_provider(): array {
public static function add_plugin_provider(): array {
return [
'Plugin: enabled (using int)' => [
'type' => 'plugintype',
@@ -321,7 +321,7 @@ class helper_test extends \advanced_testcase {
*
* @return array
*/
public function change_default_preset_provider(): array {
public static function change_default_preset_provider(): array {
return [
'Starter preset' => [
'preset' => 'starter',
@@ -25,7 +25,7 @@ namespace core_adminpresets\local\setting;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \core_adminpresets\local\setting\adminpresets_admin_setting_bloglevel
*/
class adminpresets_admin_setting_bloglevel_test extends \advanced_testcase {
final class adminpresets_admin_setting_bloglevel_test extends \advanced_testcase {
/**
* Test the behaviour of save_value() method.
@@ -72,7 +72,7 @@ class adminpresets_admin_setting_bloglevel_test extends \advanced_testcase {
*
* @return array
*/
public function save_value_provider(): array {
public static function save_value_provider(): array {
return [
'Save the bloglevel and set blog_menu block visibility to true' => [
'setttingvalue' => BLOG_USER_LEVEL,
@@ -25,7 +25,7 @@ namespace core_adminpresets\local\setting;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \core_adminpresets\local\setting\adminpresets_admin_setting_sitesettext
*/
class adminpresets_admin_setting_sitesettext_test extends \advanced_testcase {
final class adminpresets_admin_setting_sitesettext_test extends \advanced_testcase {
/**
* Test the behaviour of save_value() method.
@@ -66,7 +66,7 @@ class adminpresets_admin_setting_sitesettext_test extends \advanced_testcase {
*
* @return array
*/
public function save_value_provider(): array {
public static function save_value_provider(): array {
return [
'Fullname: different value' => [
'settingname' => 'fullname',
@@ -25,7 +25,7 @@ namespace core_adminpresets\local\setting;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \core_adminpresets\local\setting\adminpresets_setting
*/
class adminpresets_setting_test extends \advanced_testcase {
final class adminpresets_setting_test extends \advanced_testcase {
/**
* Test the behaviour of save_value() method.
@@ -77,7 +77,7 @@ class adminpresets_setting_test extends \advanced_testcase {
*
* @return array
*/
public function save_value_provider(): array {
public static function save_value_provider(): array {
return [
'Core setting with the same value is not saved' => [
'category' => 'optionalsubsystems',
@@ -167,7 +167,7 @@ class adminpresets_setting_test extends \advanced_testcase {
*
* @return array
*/
public function save_attributes_values_provider(): array {
public static function save_attributes_values_provider(): array {
return [
'Plugin setting with the same value is not saved' => [
'category' => 'modsettinglesson',
+3 -3
View File
@@ -28,7 +28,7 @@ use stdClass;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \core_adminpresets\manager
*/
class manager_test extends \advanced_testcase {
final class manager_test extends \advanced_testcase {
/**
* Include required libraries.
*/
@@ -367,7 +367,7 @@ class manager_test extends \advanced_testcase {
*
* @return array
*/
public function export_preset_provider(): array {
public static function export_preset_provider(): array {
return [
'Export settings and plugins, excluding sensible' => [
'includesensible' => false,
@@ -530,7 +530,7 @@ class manager_test extends \advanced_testcase {
*
* @return array
*/
public function import_preset_provider(): array {
public static function import_preset_provider(): array {
return [
'Import settings from an empty file' => [
'filecontents' => '',
@@ -30,7 +30,7 @@ use core_privacy\tests\provider_testcase;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \core_adminpresets\privacy\provider
*/
class privacy_provider_test extends provider_testcase {
final class privacy_provider_test extends provider_testcase {
/**
* Test for provider::get_metadata().
+2 -2
View File
@@ -26,8 +26,8 @@ use core_role_preset;
* @copyright 2013 Petr Skoda {@link http://skodak.org}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class preset_test extends \advanced_testcase {
public function test_xml() {
final class preset_test extends \advanced_testcase {
public function test_xml(): void {
global $DB;
$roles = $DB->get_records('role');
+1 -1
View File
@@ -40,7 +40,7 @@ use core_privacy\local\request\approved_userlist;
* @copyright 2018 Carlos Escobedo <carlos@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class provider_test extends provider_testcase {
final class provider_test extends provider_testcase {
/**
* Test to check export_user_preferences.
* returns user preferences data.
+2
View File
@@ -82,6 +82,8 @@ class behat_admin extends behat_base {
$this->execute('behat_forms::i_set_the_field_with_xpath_to', [$fieldxpath, $value]);
$this->execute("behat_general::i_click_on", [get_string('savechanges'), 'button']);
// Wait for the page to be redirected.
$this->execute("behat_general::i_wait_to_be_redirected");
}
}
@@ -0,0 +1,40 @@
@core @core_admin
Feature: Plugins overview page
In order to manage plugin and settings
As an admin
I can access the plugins overview page
Background:
Given I am logged in as "admin"
And I navigate to "Plugins > Plugins overview" in site administration
Scenario: An administrator can view plugins overview page
Then "Plugins overview" "text" should exist
And "Check for available updates" "button" should exist
And "All plugins" "link" should exist
And "Additional plugins" "link" should exist
Scenario: An administrator can access list of activities when activity modules cog icon is pressed
When I click on "Settings" "link" in the "Activity modules" "table_row"
Then "Activities" "text" should exist
And "Manage activities" "text" should exist in the ".breadcrumb" "css_element"
And "Activity modules" "link" should exist in the ".breadcrumb" "css_element"
Scenario: An administrator can access plugin settings
When I click on "Settings" "link" in the "Assignment" "table_row"
Then "Assignment settings" "text" should exist
And "Assignment settings" "text" should exist in the ".breadcrumb" "css_element"
And "Assignment" "link" should exist in the ".breadcrumb" "css_element"
And "Activity modules" "link" should exist in the ".breadcrumb" "css_element"
Scenario: Plugins with dependencies cannot be uninstalled
When I navigate to "Plugins > Plugins overview" in site administration
Then "Uninstall" "link" should not exist in the "Database" "table_row"
And "Required by: filter_data" "text" should exist in the "Database" "table_row"
Scenario: Cancelling plugin uninstall does not uninstall the selected plugin
When I click on "Uninstall" "link" in the "Assignment" "table_row"
Then "Uninstalling Assignment" "text" should exist
And "You are about to uninstall the plugin Assignment. This will completely delete everything in the database associated with this plugin, including its configuration, log records, user files managed by the plugin etc. There is no way back and Moodle itself does not create any recovery backup. Are you SURE you want to continue?" "text" should exist
And I click on "Cancel" "button"
And "Uninstall" "link" should exist in the "Assignment" "table_row"
+2 -2
View File
@@ -31,7 +31,7 @@ require_once($CFG->dirroot . '/webservice/tests/helpers.php');
* @copyright 2023 Andrew Lyons <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class set_block_protection_test extends \externallib_advanced_testcase {
final class set_block_protection_test extends \externallib_advanced_testcase {
/**
* Test execute method with no login.
*/
@@ -85,7 +85,7 @@ class set_block_protection_test extends \externallib_advanced_testcase {
*
* @return array
*/
public function execute_provider(): array {
public static function execute_provider(): array {
return [
[
'block_login',
+3 -3
View File
@@ -33,7 +33,7 @@ require_once($CFG->dirroot . '/webservice/tests/helpers.php');
* @copyright 2023 Andrew Lyons <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class set_plugin_order_test extends \externallib_advanced_testcase {
final class set_plugin_order_test extends \externallib_advanced_testcase {
/**
* Text execute method for editor plugins, which support ordering.
*
@@ -72,7 +72,7 @@ class set_plugin_order_test extends \externallib_advanced_testcase {
*
* @return array
*/
public function execute_editor_provider(): array {
public static function execute_editor_provider(): array {
$pluginmanager = \core_plugin_manager::instance();
$allplugins = array_keys($pluginmanager->get_plugins_of_type('editor'));
@@ -142,7 +142,7 @@ class set_plugin_order_test extends \externallib_advanced_testcase {
$this->assertIsArray(set_plugin_order::execute($plugin, 1));
}
public function execute_non_orderable_provider(): array {
public static function execute_non_orderable_provider(): array {
return [
// Activities do not support ordering.
['mod_assign'],
+2 -2
View File
@@ -31,7 +31,7 @@ require_once($CFG->dirroot . '/webservice/tests/helpers.php');
* @copyright 2023 Andrew Lyons <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class set_plugin_state_test extends \externallib_advanced_testcase {
final class set_plugin_state_test extends \externallib_advanced_testcase {
/**
* Text execute method.
*
@@ -66,7 +66,7 @@ class set_plugin_state_test extends \externallib_advanced_testcase {
*
* @return array
*/
public function execute_standard_provider(): array {
public static function execute_standard_provider(): array {
$generatetestsfor = function (string $plugin): array {
return [
[
@@ -20,14 +20,9 @@ namespace core_admin\reportbuilder\datasource;
use core\task\database_logger;
use core_reportbuilder_generator;
use core_reportbuilder_testcase;
use core_reportbuilder\local\filters\{boolean_select, date, duration, number, select, text};
use core_reportbuilder\task\send_schedules;
defined('MOODLE_INTERNAL') || die();
global $CFG;
require_once("{$CFG->dirroot}/reportbuilder/tests/helpers.php");
use core_reportbuilder\tests\core_reportbuilder_testcase;
/**
* Unit tests for task logs datasource
@@ -37,7 +32,7 @@ require_once("{$CFG->dirroot}/reportbuilder/tests/helpers.php");
* @copyright 2022 Paul Holden <paulh@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class task_logs_test extends core_reportbuilder_testcase {
final class task_logs_test extends core_reportbuilder_testcase {
/**
* Test default datasource
@@ -110,7 +105,7 @@ class task_logs_test extends core_reportbuilder_testcase {
*
* @return array[]
*/
public function datasource_filters_provider(): array {
public static function datasource_filters_provider(): array {
return [
'Filter name' => ['task_log:name', [
'task_log:name_values' => [send_schedules::class],
@@ -25,7 +25,7 @@ namespace tool_admin_presets\event;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @covers \tool_admin_presets\event\preset_deleted
*/
class preset_deleted_test extends \advanced_testcase {
final class preset_deleted_test extends \advanced_testcase {
/**
* Test preset_deleted event.
@@ -25,7 +25,7 @@ namespace tool_admin_presets\event;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @covers \tool_admin_presets\event\preset_downloaded
*/
class preset_downloaded_test extends \advanced_testcase {
final class preset_downloaded_test extends \advanced_testcase {
/**
* Test preset_downloaded event.
@@ -25,7 +25,7 @@ namespace tool_admin_presets\event;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @covers \tool_admin_presets\event\preset_exported
*/
class preset_exported_test extends \advanced_testcase {
final class preset_exported_test extends \advanced_testcase {
/**
* Test preset_exported event.
@@ -25,7 +25,7 @@ namespace tool_admin_presets\event;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @covers \tool_admin_presets\event\preset_imported
*/
class preset_imported_test extends \advanced_testcase {
final class preset_imported_test extends \advanced_testcase {
/**
* Test preset_imported event.
@@ -25,7 +25,7 @@ namespace tool_admin_presets\event;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @covers \tool_admin_presets\event\preset_loaded
*/
class preset_loaded_test extends \advanced_testcase {
final class preset_loaded_test extends \advanced_testcase {
/**
* Test preset_loaded event.
@@ -25,7 +25,7 @@ namespace tool_admin_presets\event;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @covers \tool_admin_presets\event\preset_previewed
*/
class preset_previewed_test extends \advanced_testcase {
final class preset_previewed_test extends \advanced_testcase {
/**
* Test preset_previewed event.
@@ -25,7 +25,7 @@ namespace tool_admin_presets\event;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @covers \tool_admin_presets\event\preset_reverted
*/
class preset_reverted_test extends \advanced_testcase {
final class preset_reverted_test extends \advanced_testcase {
/**
* Test preset_reverted event.
@@ -25,7 +25,7 @@ namespace tool_admin_presets\event;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @covers \tool_admin_presets\event\presets_listed
*/
class presets_listed_test extends \advanced_testcase {
final class presets_listed_test extends \advanced_testcase {
/**
* Test presets_listed event.
@@ -25,7 +25,7 @@ namespace tool_admin_presets\local\action;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \tool_admin_presets\local\action\base
*/
class base_test extends \advanced_testcase {
final class base_test extends \advanced_testcase {
/**
* Test the behaviour of log() method.
@@ -70,7 +70,7 @@ class base_test extends \advanced_testcase {
*
* @return array
*/
public function log_provider(): array {
public static function log_provider(): array {
return [
// Action = base.
'action=base and mode = show' => [
@@ -25,7 +25,7 @@ namespace tool_admin_presets\local\action;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \tool_admin_presets\local\action\delete
*/
class delete_test extends \advanced_testcase {
final class delete_test extends \advanced_testcase {
/**
* Test the behaviour of execute() method.
@@ -27,7 +27,7 @@ use core_adminpresets\manager;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \tool_admin_presets\local\action\export
*/
class export_test extends \advanced_testcase {
final class export_test extends \advanced_testcase {
/**
* Test the behaviour of execute() method.
@@ -156,7 +156,7 @@ class export_test extends \advanced_testcase {
*
* @return array
*/
public function export_execute_provider(): array {
public static function export_execute_provider(): array {
return [
'Export settings and plugins, excluding sensible' => [
'includesensible' => false,
@@ -27,7 +27,7 @@ use core_adminpresets\manager;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \tool_admin_presets\local\action\import
*/
class import_test extends \advanced_testcase {
final class import_test extends \advanced_testcase {
/**
* Test the behaviour of execute() method.
@@ -190,7 +190,7 @@ class import_test extends \advanced_testcase {
*
* @return array
*/
public function import_execute_provider(): array {
public static function import_execute_provider(): array {
$fixturesfolder = __DIR__ . '/../../../../../presets/tests/fixtures/';
return [
@@ -25,7 +25,7 @@ namespace tool_admin_presets\local\action;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \tool_admin_presets\local\action\load
*/
class load_test extends \advanced_testcase {
final class load_test extends \advanced_testcase {
/**
* Test the behaviour of show() method when the preset id doesn't exist.
@@ -25,7 +25,7 @@ namespace tool_admin_presets\local\action;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \tool_admin_presets\local\action\rollback
*/
class rollback_test extends \advanced_testcase {
final class rollback_test extends \advanced_testcase {
/**
* Test the behaviour of execute() method.
@@ -0,0 +1,79 @@
@tool @tool_analytics
Feature: Manager can obtain prediction models insights
In order to view prediction models insights
As a manager
I should be able to obtain the prediction models insights
Background:
Given the following "users" exist:
| username | firstname | lastname | email |
| s1 | Student | One | s1@example.com |
| m1 | Manager | One | m1@example.com |
| m2 | Manager | Two | m2@example.com |
| t1 | Teacher | One | t1@example.com |
And the following "role assigns" exist:
| user | role | contextlevel | reference |
| m1 | manager | System | |
| m2 | manager | System | |
# To ensure that course start date is in the future, set course start date to "tomorrow".
And the following "courses" exist:
| fullname | shortname | startdate |
| Course 1 | C1 | ##tomorrow## |
| Course 2 | C2 | ##tomorrow## |
| Course 3 | C3 | ##tomorrow## |
And the following "course enrolments" exist:
| user | course | role |
| s1 | C1 | student |
| s1 | C2 | student |
| s1 | C3 | student |
| t1 | C3 | editingteacher |
# Disable "Analytics processes execution via command line only".
And the following config values are set as admin:
| onlycli | 0 | analytics |
@javascript
Scenario: Manager can obtain prediction models insights
Given I log in as "m1"
And I navigate to "Analytics > Analytics models" in site administration
And I click on "Actions" "link" in the "Courses at risk of not starting" "table_row"
And I click on "Execute scheduled analysis" "link" in the "Courses at risk of not starting" "table_row"
And I press "Continue"
When I select "All predictions" from the "contextid" singleselect
# Confirm that only courses without teachers, Course 1 and Course 2, are listed.
Then "Course 1" "text" should exist
And "Course 2" "text" should exist
And "Course 3" "text" should not exist
And I click on "Select Course 1 for bulk action" "checkbox"
And I press "Not applicable"
And I press "Confirm"
# After m1 marks Course 1 as Not applicable, only Course 2 should be listed in the predictions for manager 1.
And "Course 1" "text" should not exist
And "Course 2" "text" should exist
And I log in as "m2"
And I click on ".popover-region-notifications" "css_element"
# Notification of new insight exists.
And "Upcoming courses have no teachers or students" "text" should exist
And I click on "View full notification" "link" in the ".popover-region-notifications" "css_element"
And I click on "View insight" "link"
# Course 1, previously marked as Not applicable by manager 1, is still listed for manager 2.
And "Course 1" "text" should exist
And I click on "View details" "link" in the "Course 1" "table_row"
# Prediction details and indicators are displayed for the selected course.
And the following should exist in the "insights-list" table:
| Description |
| Course 1 |
And the following should exist in the "prediction-calculations" table:
| -1- | -2- |
| Teacher availability | No |
| Student enrolments | Yes |
# Date of prediction analysis execution.
And "##today##%A, %d %B %Y##" "text" should exist in the "Time predicted" "table_row"
And I click on "Select Course 1 for bulk action" "checkbox"
And I press "Accept"
And I press "Confirm"
# Verify that you end up on the page listing predictions for 'No teaching'.
And "Courses at risk of not starting" "text" should exist
And "The following courses due to start in the upcoming days are at risk of not starting because they don't have teachers or students enrolled." "text" should exist
And the following should not exist in the "insights-list" table:
| Description |
| Course 1 |
+1 -1
View File
@@ -45,7 +45,7 @@ require_once($CFG->dirroot . '/analytics/tests/fixtures/test_target_course_level
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @since Moodle 3.8
*/
class external_test extends externallib_advanced_testcase {
final class external_test extends externallib_advanced_testcase {
/**
* test_potential_contexts description
@@ -46,14 +46,14 @@ require_once($CFG->libdir . '/behat/form_field/behat_form_text.php');
* @covers \behat_form_text
* @covers \behat_form_field
*/
class behat_form_text_test extends \basic_testcase {
final class behat_form_text_test extends \basic_testcase {
/**
* Data provider for the test_set_get_value() method.
*
* @return array of value and expectation pairs to be tested.
*/
public function provider_test_set_get_value() {
public static function provider_test_set_get_value(): array {
return [
'null' => [null, null],
'int' => [3, 3],
@@ -68,7 +68,7 @@ class behat_form_text_test extends \basic_testcase {
*
* @param mixed $value value to be set.
* @param mixed $expectation value to be checked.
* @dataProvider provider_test_set_get_value()
* @dataProvider provider_test_set_get_value
*/
public function test_set_get_value($value, $expectation) {
$session = $this->createMock(Session::class);
@@ -85,7 +85,7 @@ class behat_form_text_test extends \basic_testcase {
*
* @return array of decsep, value, match and result pairs to be tested.
*/
public function provider_test_matches() {
public static function provider_test_matches(): array {
return [
'lazy true' => ['.', 'hello', 'hello', true],
'lazy false' => ['.', 'hello', 'bye', false],
@@ -113,7 +113,7 @@ class behat_form_text_test extends \basic_testcase {
* @param mixed $value value to be set.
* @param mixed $match value to be matched.
* @param bool $result expected return status of the function.
* @dataProvider provider_test_matches()
* @dataProvider provider_test_matches
*/
public function test_matches($decsep, $value, $match, $result) {
global $CFG;
@@ -30,7 +30,7 @@ namespace tool_behat\external;
*
* @covers \tool_behat\external\get_entity_generator
*/
class get_entity_generator_test extends \advanced_testcase {
final class get_entity_generator_test extends \advanced_testcase {
/**
* Log in as admin
+1 -5
View File
@@ -1,7 +1,4 @@
<?php
// phpcs:ignoreFile
// @codeCoverageIgnoreStart
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
@@ -43,8 +40,7 @@ require_once($CFG->libdir . '/behat/classes/behat_config_manager.php');
* @copyright 2016 Rajesh Taneja
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class manager_util_test extends \advanced_testcase {
final class manager_util_test extends \advanced_testcase {
/** @var array Fixtures features which are available. */
private $featurepaths = array(
'default' => array(
+1
View File
@@ -87,6 +87,7 @@ $action = optional_param('action', '', PARAM_ALPHA);
// Handle any single operation actions.
if ($action == 'requestanalysis') {
if ($courseid != 0) {
require_sesskey();
scheduler::request_course_analysis($courseid);
if ($courseid == SITEID) {
redirect(accessibility::get_plugin_url());
@@ -26,7 +26,7 @@ use tool_brickfield\local\tool\filter;
* @author Jay Churchward (jay@brickfieldlabs.ie)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class accessibility_test extends \advanced_testcase {
final class accessibility_test extends \advanced_testcase {
/**
* Test get_title().
+1 -1
View File
@@ -28,7 +28,7 @@ require_once($CFG->dirroot . '/admin/tool/brickfield/tests/area_test_base.php');
* @copyright 2020 onward: Brickfield Education Labs, https://www.brickfield.ie
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class area_test extends area_test_base {
final class area_test extends area_test_base {
/**
* Test for the area assign intro
*/
+2 -2
View File
@@ -26,8 +26,8 @@ use tool_brickfield\local\tool\filter;
* @author Jay Churchward (jay.churchward@poetopensource.org)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class filters_test extends \advanced_testcase {
public function test_constructor() {
final class filters_test extends \advanced_testcase {
public function test_constructor(): void {
$this->resetAfterTest();
// Variables.
@@ -23,7 +23,7 @@ namespace tool_brickfield\local\areas\core_question;
* @copyright 2020 onward: Brickfield Education Labs, https://www.brickfield.ie
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class questionanswers_test extends \advanced_testcase {
final class questionanswers_test extends \advanced_testcase {
/**
* Set up before class.
@@ -30,7 +30,7 @@ use tool_brickfield\area_test_base;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \tool_brickfield\local\areas\core_question\base
*/
class questiontext_test extends area_test_base {
final class questiontext_test extends area_test_base {
/**
* Set up before class.
*/
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class a_links_dont_open_new_window_testcase
*/
class a_links_dont_open_new_window_test extends all_checks {
final class a_links_dont_open_new_window_test extends all_checks {
/** @var string Check type */
protected $checktype = 'a_links_dont_open_new_window';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class a_must_contain_text_testcase
*/
class a_must_contain_text_test extends all_checks {
final class a_must_contain_text_test extends all_checks {
/** @var string Check type */
protected $checktype = 'a_must_contain_text';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class a_suspicious_link_text
*/
class a_suspicious_link_text_test extends all_checks {
final class a_suspicious_link_text_test extends all_checks {
/** @var string Check type */
protected $checktype = 'a_suspicious_link_text';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class area_dont_open_new_window_testcase
*/
class area_dont_open_new_window_test extends all_checks {
final class area_dont_open_new_window_test extends all_checks {
/** @var string Check type */
protected $checktype = 'area_dont_open_new_window';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class area_has_alt_value_testcase
*/
class area_has_alt_value_test extends all_checks {
final class area_has_alt_value_test extends all_checks {
/** @var string Check type */
protected $checktype = 'area_has_alt_value';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class basefont_is_not_used_testcase
*/
class basefont_is_not_used_test extends all_checks {
final class basefont_is_not_used_test extends all_checks {
/** @var string Check type */
protected $checktype = 'basefont_is_not_used';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class blink_is_not_used_testcase
*/
class blink_is_not_used_test extends all_checks {
final class blink_is_not_used_test extends all_checks {
/** @var string Check type */
protected $checktype = 'blink_is_not_used';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class bold_is_not_used_testcase
*/
class bold_is_not_used_test extends all_checks {
final class bold_is_not_used_test extends all_checks {
/** @var string Check type */
protected $checktype = 'bold_is_not_used';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class content_too_long_testcase
*/
class content_too_long_test extends all_checks {
final class content_too_long_test extends all_checks {
/** @var string Check type */
protected $checktype = 'content_too_long';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class embed_has_associated_no_embed_testcase
*/
class embed_has_associated_no_embed_test extends all_checks {
final class embed_has_associated_no_embed_test extends all_checks {
/** @var string Check type */
protected $checktype = 'embed_has_associated_no_embed';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class header_h3_testcase
*/
class header_h3_test extends all_checks {
final class header_h3_test extends all_checks {
/** @var string Check type */
protected $checktype = 'header_h3';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class headers_have_text_testcase
*/
class headers_have_text_test extends all_checks {
final class headers_have_text_test extends all_checks {
/** @var string Check type */
protected $checktype = 'headers_have_text';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class i_is_not_used_testcase
*/
class i_is_not_used_test extends all_checks {
final class i_is_not_used_test extends all_checks {
/** @var string Check type */
protected $checktype = 'i_is_not_used';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class img_alt_is_different_testcase
*/
class img_alt_is_different_test extends all_checks {
final class img_alt_is_different_test extends all_checks {
/** @var string Check type */
protected $checktype = 'img_alt_is_different';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class img_alt_is_too_long_testcase
*/
class img_alt_is_too_long_test extends all_checks {
final class img_alt_is_too_long_test extends all_checks {
/** @var string Check type */
protected $checktype = 'img_alt_is_too_long';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class img_alt_not_empty_in_anchor_testcase
*/
class img_alt_not_empty_in_anchor_test extends all_checks {
final class img_alt_not_empty_in_anchor_test extends all_checks {
/** @var string Check type */
protected $checktype = 'img_alt_not_empty_in_anchor';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class img_alt_not_placeholder_testcase
*/
class img_alt_not_place_holder_test extends all_checks {
final class img_alt_not_place_holder_test extends all_checks {
/** @var string Check type */
protected $checktype = 'img_alt_not_place_holder';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class test_css_text_has_contrast_testcase
*/
class img_has_alt_test extends all_checks {
final class img_has_alt_test extends all_checks {
/** @var string Check type */
public $checktype = 'img_has_alt';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class img_with_map_has_use_map_test
*/
class img_with_map_has_use_map_test extends all_checks {
final class img_with_map_has_use_map_test extends all_checks {
/** @var string Check type */
public $checktype = 'img_with_map_has_use_map';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class legend_text_not_empty_test
*/
class legend_text_not_empty_test extends all_checks {
final class legend_text_not_empty_test extends all_checks {
/** @var string Check type */
public $checktype = 'legend_text_not_empty';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class no_headings_test
*/
class no_headings_test extends all_checks {
final class no_headings_test extends all_checks {
/** @var string Check type */
public $checktype = 'no_headings';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class object_must_have_embeded_test
*/
class object_must_have_embed_test extends all_checks {
final class object_must_have_embed_test extends all_checks {
/** @var string Check type */
public $checktype = 'object_must_have_embed';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class object_must_have_title_test
*/
class object_must_have_title_test extends all_checks {
final class object_must_have_title_test extends all_checks {
/** @var string Check type */
public $checktype = 'object_must_have_title';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class object_must_have_valid_title_test
*/
class object_must_have_valid_title_test extends all_checks {
final class object_must_have_valid_title_test extends all_checks {
/** @var string Check type */
public $checktype = 'object_must_have_valid_title';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class strike_is_not_used_testcase
*/
class strike_is_not_used_test extends all_checks {
final class strike_is_not_used_test extends all_checks {
/** @var string Check type */
public $checktype = 'strike_is_not_used';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class table_data_should_have_th_test
*/
class table_data_should_have_th_test extends all_checks {
final class table_data_should_have_th_test extends all_checks {
/** @var string Check type */
public $checktype = 'table_data_should_have_th';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class table_summary_does_not_duplicate_caption_test
*/
class table_summary_does_not_duplicate_caption_test extends all_checks {
final class table_summary_does_not_duplicate_caption_test extends all_checks {
/** @var string Check type */
public $checktype = 'table_summary_does_not_duplicate_caption';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class table_td_should_not_merge_test
*/
class table_td_should_not_merge_test extends all_checks {
final class table_td_should_not_merge_test extends all_checks {
/** @var string Check type */
public $checktype = 'table_td_should_not_merge';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class table_th_should_have_scope_test
*/
class table_th_should_have_scope_test extends all_checks {
final class table_th_should_have_scope_test extends all_checks {
/** @var string Check type */
public $checktype = 'table_th_should_have_scope';
@@ -24,7 +24,7 @@ namespace tool_brickfield\local\tool;
* @author Jay Churchward (jay.churchward@poetopensource.org)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class activityresults_test extends \advanced_testcase {
final class activityresults_test extends \advanced_testcase {
public function test_toolname() {
$this->resetAfterTest();
@@ -24,7 +24,7 @@ namespace tool_brickfield\local\tool;
* @author Jay Churchward (jay.churchward@poetopensource.org)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class checktyperesults_test extends \advanced_testcase {
final class checktyperesults_test extends \advanced_testcase {
public function test_toolname() {
$this->resetAfterTest();
@@ -24,7 +24,7 @@ namespace tool_brickfield\local\tool;
* @author Jay Churchward (jay.churchward@poetopensource.org)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class errors_test extends \advanced_testcase {
final class errors_test extends \advanced_testcase {
public function test_toolname() {
$this->resetAfterTest();
@@ -24,7 +24,7 @@ namespace tool_brickfield\local\tool;
* @author Jay Churchward (jay.churchward@poetopensource.org)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class printable_test extends \advanced_testcase {
final class printable_test extends \advanced_testcase {
/**
* Test tool name.
+1 -1
View File
@@ -23,7 +23,7 @@ namespace tool_brickfield;
* @copyright 2020 onward: Brickfield Education Labs, https://www.brickfield.ie
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class manager_test extends \advanced_testcase {
final class manager_test extends \advanced_testcase {
/**
* Tests for the function manager::get_all_areas()
@@ -28,7 +28,7 @@ namespace tool_brickfield;
* Unit tests for {@registration tool_brickfield\registration.php}.
* @group tool_brickfield
*/
class registration_test extends \advanced_testcase {
final class registration_test extends \advanced_testcase {
public static function setUpBeforeClass(): void {
global $CFG;
@@ -24,7 +24,7 @@ namespace tool_brickfield;
* @author Jay Churchward (jay@brickfieldlabs.ie)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class scheduler_test extends \advanced_testcase {
final class scheduler_test extends \advanced_testcase {
public function test_request_analysis() {
$this->resetAfterTest();
+6 -6
View File
@@ -27,10 +27,10 @@ use tool_brickfield\local\tool\tool;
* @author Jay Churchward (jay.churchward@poetopensource.org)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class tool_test extends \advanced_testcase {
final class tool_test extends \advanced_testcase {
/** @var string base 64 image */
protected $base64img = <<<EOF
protected static string $base64img = <<<EOF
<img src="data:image/gif;base64,R0lGODlhPQBEAPeoAJosM//AwO/AwHVYZ/z595kzAP/s7P+goOXMv8+fhw/v739/f+8PD98fH/
8mJl+fn/9ZWb8/PzWlwv///6wWGbImAPgTEMImIN9gUFCEm/gDALULDN8PAD6atYdCTX9gUNKlj8wZAKUsAOzZz+UMAOsJAP/Z2ccMDA8PD/95eX5N
WvsJCOVNQPtfX/8zM8+QePLl38MGBr8JCP+zs9myn/8GBqwpAP/GxgwJCPny78lzYLgjAJ8vAP9fX/+MjMUcAN8zM/9wcM8ZGcATEL+QePdZWf/29u
@@ -118,11 +118,11 @@ EOF;
* Base64 image provider.
* @return array
*/
public function base64_img_provider(): array {
public static function base64_img_provider(): array {
$img = '<img src="myimage.jpg" />';
return [
'Image tag alone (base64)' => [
$this->base64img,
self::$base64img,
true,
],
'Image tag alone (link)' => [
@@ -130,7 +130,7 @@ EOF;
false,
],
'Image tag in string (base64)' => [
"This is my image {$this->base64img}.",
"This is my image " . self::$base64img,
true,
],
'Image tag in string (link)' => [
@@ -162,7 +162,7 @@ EOF;
}
public function test_truncate_base64() {
$truncated = tool::truncate_base64($this->base64img);
$truncated = tool::truncate_base64(self::$base64img);
$this->assertStringContainsString('<img src="data:image/gif;base64..."', $truncated);
}
}
@@ -31,7 +31,7 @@ namespace tool_capability\event;
* @copyright 2014 Petr Skoda
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later.
*/
class events_test extends \advanced_testcase {
final class events_test extends \advanced_testcase {
/**
* Setup testcase.
@@ -31,7 +31,7 @@ require_once($CFG->dirroot . '/' . $CFG->admin . '/tool/capability/locallib.php'
/**
* Tests for the capability overview helper functions.
*/
class locallib_test extends \advanced_testcase {
final class locallib_test extends \advanced_testcase {
/**
* Test the function that gets the data - simple case.
+1 -1
View File
@@ -23,7 +23,7 @@ namespace tool_cohortroles;
* @copyright 2015 Damyon Wiese
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class api_test extends \advanced_testcase {
final class api_test extends \advanced_testcase {
/** @var \stdClass $cohort */
protected $cohort = null;
@@ -39,7 +39,7 @@ use core_privacy\local\request\approved_userlist;
* @copyright 2018 Zig Tan <zig@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class provider_test extends \core_privacy\tests\provider_testcase {
final class provider_test extends \core_privacy\tests\provider_testcase {
/**
* Overriding setUp() function to always reset after tests.
@@ -36,7 +36,7 @@ use moodle_exception;
* @copyright 2020 Ferran Recio <ferran@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class langstring_test extends advanced_testcase {
final class langstring_test extends advanced_testcase {
/**
* Sanity 1.x string
@@ -60,7 +60,7 @@ class langstring_test extends advanced_testcase {
*
* @return array
*/
public function fix_syntax_data() : array {
public static function fix_syntax_data(): array {
return [
// Syntax sanity v1 strings.
[
@@ -34,7 +34,7 @@ use moodle_exception;
* @copyright 2015 Damyon Wiese
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class phpparser_test extends advanced_testcase {
final class phpparser_test extends advanced_testcase {
/**
@@ -79,7 +79,7 @@ class phpparser_test extends advanced_testcase {
*
* @return array
*/
public function parse_provider() : array {
public static function parse_provider(): array {
return [
'Invalid PHP code' => [
'No PHP code', [], false
+9 -9
View File
@@ -31,7 +31,7 @@ use tool_dataprivacy\task\initiate_data_request_task;
* @copyright 2018 Jun Pataleta
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class api_test extends \advanced_testcase {
final class api_test extends \advanced_testcase {
/**
* Ensure that the check_can_manage_data_registry function fails cap testing when a user without capabilities is
@@ -633,7 +633,7 @@ class api_test extends \advanced_testcase {
*
* @return array
*/
public function data_request_creation_provider() {
public static function data_request_creation_provider(): array {
return [
'Export request by user, automatic approval off' => [
false, api::DATAREQUEST_TYPE_EXPORT, 'automaticdataexportapproval', false, 0,
@@ -815,7 +815,7 @@ class api_test extends \advanced_testcase {
*
* @return array
*/
public function get_data_requests_provider() {
public static function get_data_requests_provider(): array {
$completeonly = [api::DATAREQUEST_STATUS_COMPLETE, api::DATAREQUEST_STATUS_DOWNLOAD_READY, api::DATAREQUEST_STATUS_DELETED];
$completeandcancelled = array_merge($completeonly, [api::DATAREQUEST_STATUS_CANCELLED]);
@@ -1000,7 +1000,7 @@ class api_test extends \advanced_testcase {
/**
* Data provider for test_has_ongoing_request.
*/
public function status_provider() {
public static function status_provider(): array {
return [
[api::DATAREQUEST_STATUS_AWAITING_APPROVAL, true],
[api::DATAREQUEST_STATUS_APPROVED, true],
@@ -1090,7 +1090,7 @@ class api_test extends \advanced_testcase {
*
* @return array
*/
public function notify_dpo_provider() {
public static function notify_dpo_provider(): array {
return [
[false, api::DATAREQUEST_TYPE_EXPORT, 'requesttypeexport', 'Export my user data'],
[false, api::DATAREQUEST_TYPE_DELETE, 'requesttypedelete', 'Delete my user data'],
@@ -1442,7 +1442,7 @@ class api_test extends \advanced_testcase {
/**
* Data provider for invalid contextlevel fetchers.
*/
public function invalid_effective_contextlevel_provider() {
public static function invalid_effective_contextlevel_provider(): array {
return [
[CONTEXT_COURSECAT],
[CONTEXT_COURSE],
@@ -2002,7 +2002,7 @@ class api_test extends \advanced_testcase {
/**
* Data provider for \tool_dataprivacy_api_testcase::test_set_context_defaults
*/
public function set_context_defaults_provider() {
public static function set_context_defaults_provider(): array {
$contextlevels = [
[CONTEXT_COURSECAT],
[CONTEXT_COURSE],
@@ -2477,7 +2477,7 @@ class api_test extends \advanced_testcase {
*
* @return array
*/
public function queue_data_request_task_provider() {
public static function queue_data_request_task_provider(): array {
return [
'With user ID provided' => [true],
'Without user ID provided' => [false],
@@ -2514,7 +2514,7 @@ class api_test extends \advanced_testcase {
/**
* Data provider for test_is_automatic_request_approval_on().
*/
public function automatic_request_approval_setting_provider() {
public static function automatic_request_approval_setting_provider(): array {
return [
'Data export, not set' => [
'automaticdataexportapproval', api::DATAREQUEST_TYPE_EXPORT, null, false
@@ -23,7 +23,7 @@ namespace tool_dataprivacy;
* @copyright 2018 Andrew Nicols <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class data_registry_test extends \advanced_testcase {
final class data_registry_test extends \advanced_testcase {
/**
* Ensure that the get_effective_context_value only errors if provided an inappropriate element.
@@ -28,14 +28,14 @@ require_once('data_privacy_testcase.php');
* @copyright 2018 Andrew Nicols <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class data_request_test extends data_privacy_testcase {
final class data_request_test extends data_privacy_testcase {
/**
* Data provider for testing is_resettable, and is_active.
*
* @return array
*/
public function status_state_provider() : array {
public static function status_state_provider(): array {
return [
[
'state' => api::DATAREQUEST_STATUS_PENDING,
@@ -138,9 +138,9 @@ class data_request_test extends data_privacy_testcase {
*
* @return array
*/
public function non_resettable_provider() : array {
public static function non_resettable_provider(): array {
$states = [];
foreach ($this->status_state_provider() as $thisstatus) {
foreach (self::status_state_provider() as $thisstatus) {
if (!$thisstatus['resettable']) {
$states[] = $thisstatus;
}
@@ -23,7 +23,7 @@ namespace tool_dataprivacy;
* @copyright 2018 David Monllao
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class expired_contexts_test extends \advanced_testcase {
final class expired_contexts_test extends \advanced_testcase {
/**
* Setup the basics with the specified retention period.
@@ -1918,7 +1918,7 @@ class expired_contexts_test extends \advanced_testcase {
*
* @return array
*/
public function can_process_deletion_provider() : array {
public static function can_process_deletion_provider(): array {
return [
'Pending' => [
expired_context::STATUS_EXPIRED,
@@ -1956,7 +1956,7 @@ class expired_contexts_test extends \advanced_testcase {
*
* @return array
*/
public function is_complete_provider() : array {
public static function is_complete_provider(): array {
return [
'Pending' => [
expired_context::STATUS_EXPIRED,
@@ -1991,7 +1991,7 @@ class expired_contexts_test extends \advanced_testcase {
*
* @return array
*/
public function is_fully_expired_provider() : array {
public static function is_fully_expired_provider(): array {
return [
'Fully expired' => [
[
+3 -3
View File
@@ -42,7 +42,7 @@ require_once($CFG->dirroot . '/webservice/tests/helpers.php');
* @copyright 2018 Jun Pataleta
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class external_test extends externallib_advanced_testcase {
final class external_test extends externallib_advanced_testcase {
/**
* Test for external::approve_data_request() with the user not logged in.
@@ -579,7 +579,7 @@ class external_test extends externallib_advanced_testcase {
/**
* Data provider for \tool_dataprivacy_external_testcase::test_XX_options().
*/
public function get_options_provider() {
public static function get_options_provider(): array {
return [
[false, false],
[false, true],
@@ -704,7 +704,7 @@ class external_test extends externallib_advanced_testcase {
/**
* Data provider for \tool_dataprivacy_external_testcase::get_activity_options().
*/
public function get_activity_options_provider() {
public static function get_activity_options_provider(): array {
return [
[false, false, true],
[false, true, true],
@@ -39,7 +39,7 @@ use tool_dataprivacy\api;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @covers \tool_dataprivacy\api
*/
class submit_selected_courses_form_test extends \externallib_advanced_testcase {
final class submit_selected_courses_form_test extends \externallib_advanced_testcase {
/**
* Test for submit_selected_courses_form().
*/
@@ -23,7 +23,7 @@ namespace tool_dataprivacy;
* @copyright 2018 Andrew Nicols <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class filtered_userlist_test extends \advanced_testcase {
final class filtered_userlist_test extends \advanced_testcase {
/**
* Test the apply_expired_contexts_filters function with arange of options.
*
@@ -58,7 +58,7 @@ class filtered_userlist_test extends \advanced_testcase {
*
* @return array
*/
public function apply_expired_contexts_filters_provider() : array {
public static function apply_expired_contexts_filters_provider(): array {
return [
// Entire list should be preserved.
'No overrides' => [
@@ -28,7 +28,7 @@ require_once('data_privacy_testcase.php');
* @copyright 2018 Andrew Nicols <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class manager_observer_test extends data_privacy_testcase {
final class manager_observer_test extends data_privacy_testcase {
/**
* Ensure that when users are configured as DPO, they are sent an message upon failure.
*/
@@ -23,7 +23,7 @@ namespace tool_dataprivacy;
* @copyright 2018 Adrian Greeve <adriangreeve.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class metadata_registry_test extends \advanced_testcase {
final class metadata_registry_test extends \advanced_testcase {
/**
* Fetch the meta data and return it in a form that we can easily unit test.
@@ -39,7 +39,7 @@ use tool_dataprivacy\privacy\provider;
* @copyright 2020 Paul Holden <paulh@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class provider_test extends provider_testcase {
final class provider_test extends provider_testcase {
/**
* Test provider get_contexts_for_userid method
@@ -29,7 +29,7 @@ require_once(__DIR__ . '/../data_privacy_testcase.php');
* @copyright 2018 Mihail Geshoski <mihail@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class task_test extends \data_privacy_testcase {
final class task_test extends \data_privacy_testcase {
use task_trait;
@@ -25,7 +25,7 @@ use tool_dataprivacy\event\user_deleted_observer;
* @copyright 2018 Mihail Geshoski <mihail@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class user_deleted_observer_test extends \advanced_testcase {
final class user_deleted_observer_test extends \advanced_testcase {
/**
* Ensure that a delete data request is created upon user deletion.
@@ -24,7 +24,7 @@ use tool_filetypes\utils;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \tool_filetypes\utils
*/
class tool_filetypes_test extends advanced_testcase {
final class tool_filetypes_test extends advanced_testcase {
/**
* Tests is_extension_invalid() function.
*

Some files were not shown because too many files have changed in this diff Show More