Commit Graph

19 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) 674497a12c MDL-81523 phpunit: Add all missing setUp/tearDown parent calls
All setUp(), tearDown(), setUpBeforeClass() and tearDownAfterClass()
must, always, call to parent, to ensure that everything is properly
set and cleaned.

While in a lot of situations this is not needed (parents may not
have anything to run), with PHPUnit >= 10 this can become more
important because we are going to move the reset code from current
placement @ runBare() to setUp()/tearDown().

Note that all the changes performed in this commit have been detected
and fixed by moodle-cs (ParentSetUpTearDownSniffTest).
2024-06-14 16:04:57 +02: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) ba1f804ffa MDL-65292 style: Fix all function declarations white space
This has been generated running the following Sniffs, all
them part of the Moodle's CodeSniffer standard:
- PSR12.Functions.ReturnTypeDeclaration
- PSR12.Functions.NullableTypeDeclaration
- moodle.Methods.MethodDeclarationSpacing
- Squiz.Whitespace.ScopeKeywordSpacing

All them are, exclusively, about correct spacing, so the changes
are, all them, only white space changes.

Only exceptions to the above are 3 changes what were setting the
return type in a new line, and, when that happens, the closing
parenthesis (bracket) has to go to the same line than the colon.
2024-02-28 23:33:26 +01:00
Meirza b7008d33ea MDL-78167 lib: Added missing class properties in tests
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.

Adding @runTestsInSeparateProcesses and removing setUp() and tearDown() at the
component_test.php, so the test will run in a separate process making sure that
whatever changes happen to the in-memory version of the component class in its thread,
therefore does not impact other tests and makes it more safe.
2023-05-27 09:24:59 +07:00
Paul Holden 121f5b6300 MDL-76221 core: method to filter by defined properties of persistent. 2022-12-29 14:02:58 +00:00
Paul Holden 6d5c0190e2 MDL-74192 core: add strictness to persistent get_record method.
Allow developer to specify the given record MUST_EXIST, and the
method to throw the underlying database exception.
2022-05-19 15:21:39 +01:00
Andrew Nicols 73ca68d3d5 Merge branch 'MDL-72779' of https://github.com/paulholden/moodle 2021-10-29 10:16:56 +08:00
Paul Holden 310bf46963 MDL-72779 core: add set_many helper method to persistent class. 2021-10-13 14:44:23 +01:00
Paul Holden de2b0565a7 MDL-71086 core: load only those properties defined within persistent. 2021-10-11 09:09:27 +01:00
Eloy Lafuente (stronk7) e4f33b837c MDL-72329 phpunit: Avoid === on floats and raw reserved word
In general it's a bad idea to compare floats with ===,
because depending of different systems precision, can
come to mismatches after certain decimal position.

So we replace them by:

- assetIsFloat() : to verify the type.
- assertEqualsWithDelta() : to compare values with some delta allowed.

Also, "raw" is Oracle reserved word, so renaming to "someraw" in tests.
2021-10-01 18:40:06 +02:00
Eloy Lafuente (stronk7) 0df1347304 MDL-72329 phpunit: Fix some tests
- XMLDB_TYPE_FLOAT definition was incorrect, meaning no decimals for
  some DBs.
- Avoid using reserved words in column names.
2021-10-01 13:21:45 +02:00
David Matamoros 78735a72bc MDL-72329 core: Persistent method get needs to return correct type 2021-09-24 08:45:08 +02: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
Eloy Lafuente (stronk7) f6711bb394 MDL-67673 phpunit: Fix the return type of template methods
All the setup/teardown/pre/post/conditions template methods
now are required to return void. This was warned with phpunit 7
and now is enforced.

At the same time, fix a few wrong function names,
provider data and param types, return statements...
2020-10-21 12:45:59 +02:00
Eric Merrill 75e74407a3 MDL-57859 persistent: Add a combined create/update call 2017-02-13 22:33:42 -05:00
Damyon Wiese e97e96155a MDL-57273 persistent: Fix access to set/get in test
The setters and getters for the path property in the test class need to be protected.
2017-01-23 14:18:04 +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