Commit Graph

30 Commits

Author SHA1 Message Date
Andrew Nicols c2414e5a45 MDL-81520 core: Fix test finality 2024-12-11 12:30:23 +08:00
Eloy Lafuente (stronk7) 01148a0816 MDL-81522 phpunit: Add missing void return type to all tests
While this change is not 100% required now, it's good habit
and we are checking for it since Moodle 4.4.

All the changes in this commit have been applied automatically
using the moodle.PHPUnit.TestReturnType sniff and are, exclusively
adding the ": void" return types when missing.
2024-06-11 11:55:07 +02:00
Eloy Lafuente (stronk7) 7a0d024e60 MDL-73659 phpunit: restore_date, api, rule, plugin, manager & helper
All restore_date_test, api_test, rule_test, plugin_test,
manager_test, helper_test testcase classes:

- Namespaced with component[\level2-API]
- Moved to level2-API subdirectory when required.
- Fixed incorrect use statements with leading backslash.
- Remove file phpdoc block
- Remove MOODLE_INTERNAL if not needed.
- Changed code to point to global scope when needed.
- Fix some relative paths and comments here and there.
- All them passing individually.
- Complete runs passing too.

Special mention to:

- All restore_date_test cases have been put under xxx\backup
  level 2 (valid API) namespace.
2022-02-05 00:03:32 +01:00
David Matamoros 306b070ac1 MDL-72329 competency: Fix contextid comparison 2021-09-24 08:45:09 +02:00
Eloy Lafuente (stronk7) 713722c3fb MDL-71036 phpunit: Coding style changes, 99% whitespace only
I've gone over a few of the mofified files (those
which were showing warnings and errors to CiBoT. Some of them
have been fixed completely, while others only have fixed
for the lines belonging to this issue (lib/tests/moodlelib_test.php)
for example.
2021-03-11 23:04:32 +01:00
Eloy Lafuente (stronk7) 8a14a7bd22 MDL-71036 phpunit: assertContains() now performs strict comparison
The methods assertContains() and assertNotContains() now perform
strict (type and value) comparison, pretty much like assertSame()
does.

A couple of new assertContainsEquals() and assertNotContainsEquals()
methods have been created to provide old (non-strict) behavior, pretty
much like assertEquals() do.

Apart from replacing the calls needing a relaxed comparison to those
new methods, there are also a couple of alternative, about how to
fix this, depending of every case:

- If the test is making any array_values() conversion, then it's better
  to remove that conversion and use assertArrayHasKey(), that is not
  strict.
- Sometimes if may be also possible to, simply, cast the expectation
  to the exact type coming in the array. I've not applied this technique
  to any of the cases in core.

Link: https://github.com/sebastianbergmann/phpunit/issues/3426
2021-03-11 23:04:31 +01:00
Eloy Lafuente (stronk7) ba5b6089d5 MDL-71036 phpunit: Renamed various regexp-related assertions
In PHPUnit 9.1, the following regexp-related assertions
have been deprecated and there are new alternatives for
all them:
    - assertRegExp()     -> assertMatchesRegularExpression()
    - assertNotRegExp()  -> assertDoesNotMatchRegularExpression()

This is about to, simply, move all cases to the new alternatives.

Source: https://github.com/sebastianbergmann/phpunit/blob/9.1.0/ChangeLog-9.1.md

Regexp to find all them:

    ag 'assertRegExp|assertNotRegExp' -li
2021-03-11 19:22:24 +01:00
Eloy Lafuente (stronk7) d95c378771 MDL-67673 phpunit: Remove expectedException annotations
While this is not strictly required, because removal will
happen in PHPUnit 9.0, we are already getting rid of all
uses in core.

From release notes:https://phpunit.de/announcements/phpunit-8.html

The annotations `@expectedException`, `@expectedExceptionCode`,
`@expectedExceptionMessage`, and `@expectedExceptionMessageRegExp`
are now deprecated.
Using these annotations will trigger a deprecation warning
in PHPUnit 8 and in PHPUnit 9 these annotations will be removed.

Also, all uses of expectExceptionMessageRegExp() has been moved
to expectExceptionMessageMatches(). See https://github.com/sebastianbergmann/phpunit/issues/3957

TODO: Various weirdness found while doing the changes with these tests:
- vendor/bin/phpunit lib/tests/exporter_test.php (created MDL-69700)
- vendor/bin/phpunit competency/tests/external_test.php (same issue than prev one)
- vendor/bin/phpunit question/engine/tests/questionengine_test.php (created MDL-69624)
- vendor/bin/phpunit lib/tests/event_test.php (created MDL-69688)
2020-10-21 12:46:00 +02:00
Damyon Wiese bde97497ef MDL-65078 competencies: webservices
The webservice list_course_module_competencies calls a function that does not exist and
is not exposed as a webservice.
2019-07-24 09:14:28 +08:00
Damyon Wiese c0417b04ff MDL-53346 competencies: Show user learning plans
On the course competencies page, show the user their learning plans
that contain each of the course competencies.
2019-02-06 08:33:55 +08:00
Amaia Anabitarte 45cc006c91 MDL-60518 core_competency: Set $USER global variable for tests 2018-12-14 10:28:34 +01:00
Jake Dallimore 54ec93885c MDL-60243 competencies: fix ordering bug in api_test unit test
list_user_competencies_to_review() orders by shortname, but the test
creates 2 user competencies with the same short name, resulting in
unpredictable results. This patch fixes that.
2017-09-27 09:19:32 +08:00
Simey Lameze 2fc95ecf80 MDL-59994 competency: improve user competency unit test 2017-09-18 08:32:12 +08:00
Damyon Wiese 9c91a9593d MDL-57273 core: Remove magic setters and getters
Remove the magic getters and setters from persistent. They are deprecated only in the persistent
class for competencies.
2017-01-20 12:56:19 +08:00
Frederic Massart 2198e0e94a MDL-57273 core: Migrating persistent from core_competency into core 2017-01-20 12:56:18 +08:00
Issam Taboubi fd8043b2de MDL-56285 competency: fix move competencies capabilities
In learning plan templates, cannot move competencies
around even if capability templatemanage is given
to the role because of bad context check
2016-10-06 10:33:32 -04:00
Rajesh Taneja 52f3e060e4 MDL-55091 phpunit: Following has been deprecated.
1. getMock()
2. setExpectedException()
3. checkForUnintentionallyCoveredCode renamed to beStrictAboutCoversAnnotation
4. beStrictAboutTestSize renamed to enforceTimeLimit
5. UnitTestCase class is now fully removed.
2016-07-26 10:11:30 +08:00
Rajesh Taneja 56c5c9a08a MDL-55043 core_competency: Sort by id to ensure we get expected result. 2016-07-10 11:25:06 +08:00
Damyon Wiese da880d320c MDL-54997 competencies: Listing evidence contexts
When listing the evidence for a user competency in a course,
the query is missing evidences for sub-contexts in the course.
2016-06-23 09:14:19 -07:00
Andrew Nicols 60e75de317 Merge branch 'MDL-54542-master' of git://github.com/FMCorz/moodle 2016-05-18 09:48:27 +08:00
Frederic Massart 4e968dc8a7 MDL-54542 competency: Tests for listing of plans and comps to review 2016-05-12 16:16:03 +08:00
Frederic Massart 9f659e1af5 MDL-54075 competency: False negatives due to random ordering and latency 2016-05-10 18:41:48 +02:00
Adam Olley 415023cefc MDL-54120 competency: Don't assume there are no existing scales
Every time a unit test for competencies adds a scale, it's creating them
with hardcoded id's - which should always be avoided. So this change has
the unit test keep track of the scale id's created without hardcoding
them.
2016-05-10 14:48:18 +09:30
David Monllao e7c979dff8 Merge branch 'MDL-53632-master' of git://github.com/FMCorz/moodle 2016-04-26 11:29:51 +08:00
Frederic Massart 69c478660a MDL-53451 competency: Properly wrap those nasty function declarations
Pheww, we avoided a disaster.
2016-04-19 10:55:46 +08:00
Frederic Massart 746da8ba60 MDL-53632 competency: Consistently use the terms frameworks, plans, ...
- Templates: 'Learning plan templates'
- Plans: 'Learning plans'
- Frameworks: 'Competency frameworks'

When the context, or sentence, is already stating that we are talking
about 'learning plans' or 'competencies', it may sound redundant to
repeat those terms, therefore we can simply refer to 'Templates',
'Plans', and 'Frameworks'.
2016-04-18 16:51:39 +08:00
Frederic Massart 1e99f31e33 MDL-53654 competency: Provide a way to delete evidence 2016-04-18 11:06:47 +08:00
Frederic Massart 91e5464282 MDL-53700 competency: Making CiBoT happier 2016-04-18 11:06:00 +08:00
Frederic Massart e6dc03d7c4 MDL-53700 competency: Migrating language strings 2016-04-18 11:06:00 +08:00
Frederic Massart e0b9ba28a4 MDL-53700 competency: Migrating tests to core 2016-04-18 11:05:59 +08:00