92 Commits

Author SHA1 Message Date
Paul Holden
a0f26a114f
MDL-84000 reportbuilder: move testcase helper to autoloaded namespace.
Clean up some class imports while we're at it.
2024-12-13 10:16:29 +00:00
Andrew Nicols
55126be4ad
MDL-81520 core: Fix test finality 2024-12-11 12:30:21 +08:00
Andrew Nicols
c6942c9bb7
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-18 10:24:55 +08:00
Eloy Lafuente (stronk7)
1093256560
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 12:18:04 +02:00
Eloy Lafuente (stronk7)
361dfe8145
MDL-75952 general: Since php81, refection->setAccessible() is no-op
Refereces:
- https://wiki.php.net/rfc/make-reflection-setaccessible-no-op
- https://www.php.net/manual/en/reflectionproperty.setaccessible.php
- https://www.php.net/manual/en/reflectionmethod.setaccessible.php

As of PHP 8.1.0, calling this method has no effect; all methods are
invokable by default. So, let's remove all uses from core, they are
no-op.
2024-03-10 21:15:00 +01:00
Juan Leyva
871aa5e978
MDL-65978 blog: Fix unit tests (remove hardcoded entry ids) 2024-03-07 13:46:07 +01:00
Juan Leyva
fc0f94626e
MDL-65978 blog: Fix removing associations 2024-03-07 11:58:22 +01:00
Juan Leyva
166afa05fe MDL-65978 blog: New WS core_blog_update_entry 2024-02-29 16:18:21 +01:00
Juan Leyva
4b3bda1657 MDL-65978 blog: New WS prepare_entry_for_edition 2024-02-29 16:18:21 +01:00
Juan Leyva
b43b16c358 MDL-65978 blog: New WS core_blog_delete_entry 2024-02-29 16:18:21 +01:00
Juan Leyva
5a679bffd2 MDL-65978 blog: New WS core_blog_add_entry 2024-02-29 16:18:21 +01:00
Juan Leyva
b6b2077e60 MDL-65978 blog: New WS core_blog_get_access_information 2024-02-29 16:18:21 +01:00
Juan Leyva
98daf57a8d MDL-65978 blog: Preparatory API changes 2024-02-29 16:18:21 +01:00
Paul Holden
f6c918a50f
MDL-79532 blog: add "title with link" column to report entity. 2024-01-05 09:37:56 +00:00
Paul Holden
6b712f5b46
MDL-79536 blog: clarify language around published report column/filter.
Avoid the use of "Yourself" when refering to the draft state of a blog
post, as it can mistakenly be interpreted as referring to the current
user (rather than the user who authored the blog post).
2023-11-02 10:48:11 +00:00
Paul Holden
33a63ca639
MDL-76295 reportbuilder: implement default datasource sorting.
Update all existing report sources to use the new default sorting
API from 064eccd4, updating existing tests to assert behaviour.
2023-08-23 15:32:50 +01:00
Angelia Dela Cruz
89e0885660 MDL-78455 Behat: Behat cleanup and optimisation for blog/tests/behat 2023-06-16 09:06:07 +08:00
Angelia Dela Cruz
1325ddac92 MDL-78455 Behat: Add Behat for adding, editing and deleting blog entries 2023-06-15 15:25:36 +08:00
Ilya Tregubov
dfc0b2a2fd
Merge branch 'MDL-77700' of https://github.com/paulholden/moodle 2023-05-17 15:14:22 +08:00
Meirza
2fb9f3ab02 MDL-77350 blog: Added class properties that are not declared
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.
2023-05-16 00:33:20 +07:00
Paul Holden
ea404b8e37
MDL-77700 blog: add comment author data to custom report source.
The ability to report on blog comments was added in 27ebde57, however
it lacked the option to report on the user who added the comment(s).

AMOS BEGIN
 CPY [author,core_notes],[author,core_blog]
AMOS END
2023-05-04 09:12:50 +01:00
Mathew May
e5ca7766e7 MDL-52805 core: Remove legacy log calls 2023-03-07 13:08:46 +08:00
Paul Holden
76327f04ac MDL-76591 comment: create test generators and Behat scenarios.
The added scenarios cover the management of comments: viewing,
filtering and deletion.
2023-01-30 16:00:25 +00:00
Andrew Nicols
a3cc26f8bb MDL-76583 core: Update uses of external_* classes 2023-01-19 07:34:09 +08:00
Sara Arjona
bb883d95aa Merge branch 'MDL-76153' of https://github.com/paulholden/moodle 2022-12-28 18:50:28 +01:00
Paul Holden
27ebde570f MDL-76153 blog: add comments to blogs custom report source. 2022-12-20 09:32:11 +00:00
Paul Holden
224b3ab51f MDL-76154 blog: add files/attachments to custom report source. 2022-12-20 09:31:29 +00:00
Paul Holden
a82b83c2fb MDL-75166 blog: implement blogs datasource for custom reporting.
Create entity definition containing report elements for blog posts.
Add new report source joining the entity to existing user, course
and tag entities to provide data for the reportbuilder editor.
2022-10-19 14:53:08 +01:00
Noel De Martin
2944abad29 MDL-75084 blog: Implement behat generators 2022-06-29 09:39:39 +02:00
Jake Dallimore
041b1beb46 Merge branch 'MDL-73347-master' of https://github.com/sarjona/moodle 2022-01-24 13:40:57 +08:00
Eloy Lafuente (stronk7)
0c53a3dec8 MDL-73476 phpunit: events, external and search tescase names
All events_test, external_test and search_test classes:

- Namespaced with component[\level2-API]
- Moved to level2-API subdirectory when required.
- Fixed incorrect use statements with leading backslash.
- 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 lib/external/tests/external_test.php:
- external is not a valid component
- hence, its only valid namespace is "core"
- also, it's testing lib/external/externallib.php
- hence, the file (and class) have been renamed to external_externallib_test.php
  (to avoid conflicts with other external_test that may exist in core)
2022-01-14 16:18:39 +01:00
Sara Arjona
53fe23d8b5 MDL-73347 behat: Add blocks hidden by default for boost
For the boost them, a few themes have been hidden by default.
The unaddable setting should be set to let admins add them again,
because some behat tests need them.
2022-01-14 13:08:48 +01:00
Eloy Lafuente (stronk7)
511801cb46 MDL-73352 phpunit: lib_test and locallib_test testcase names
All lib_test and locallib_test classes:

- Namespaced with component (and API whenever makes sense).
- Fixed incorrect use statements with leading backslash.
- Changed code to point to global scope when needed or add new uses.
- All them passing individually.
- Complete runs passing too.

Special mention to tests under login/tests:

1) The core_login component doesn't exist.
2) But login/tests are allowed because there is a suite pointing to it (phpunit.xml).
3) So, the only possible namespace for them is "core".
4) And to avoid problems with other core testcases (under lib/tests)
   they have been renamed to have login_xxxx as prefix.
2021-12-30 16:21:42 +01:00
Eloy Lafuente (stronk7)
e4a2d9c1d4 MDL-73348 phpunit: normalize all privacy provider tests
As far as now all them have correct privacy level2 namespace:
- Move them to "privacy" subdir.
- Rename the files to "provider_test.php", this includes old
  privacy_test.php and privacy_provider_test.php files
- Rename the testcase to provider_test too (to match file name)

Also, change some relative paths and comments to point to new
locations.
2021-12-17 14:21:02 +01:00
Eloy Lafuente (stronk7)
57e6fb7ad9 MDL-73348 phpunit: privacy and privacy_provider testcase names
All privacy_test and privacy_provider_test classes:

- Namespaced with component\privacy.
- Fixed incorrect use statements with leading backslash.
- Changed code to point to global scope when needed.
- Renamed a few files to make all be privacy_test or privacy_provider_test.php
- All them passing individually.
- Complete runs passing too.
2021-12-17 14:21:02 +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)
3a5641cb74 MDL-67673 phpunit: Remove deprecated assertEquals() params
The optional parameters of assertEquals() and assertNotEquals()
are deprecated in PHPUnit 8 (to be removed in PHPUnit 9):

- delta => use assertEqualsWithDelta()
- canonicalize => use assertEqualsCanonicalizing()
- ignoreCase => use assertEqualsIgnoringCase
- maxDepth => removed without replacement.

More info @ https://github.com/sebastianbergmann/phpunit/issues/3341

Initial search done with:

ag 'assert(Not)?Equals\(.*,.*,' --php

Then, running tests and fixing remaining cases.
2020-10-21 12:46:00 +02:00
Eloy Lafuente (stronk7)
40de097e65 MDL-67673 phpunit: Remove deprecated assertContains() uses on strings
Both assertContains() and assertNotContains() are deprecated in PHPUnit 8
for operations on strings. Also the optional case parameter is. All uses
must be changed to one of:

- assertStringContainsString()
- assertStringContainsStringIgnoringCase()
- assertStringNotContainsString()
- assertStringNotContainsStringIgnoringCase()

More info: https://github.com/sebastianbergmann/phpunit/issues/3422

Regexp to find all uses:

ag 'assert(Not)?Contains\('
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
Paul Holden
d95812cb39 MDL-65584 blog: safer deletion of associations in privacy provider.
It's possible that the given context list contains no posts, which caused
an exception to be thrown when passing an empty array to get_in_or_equal.
2019-10-08 00:12:32 +01:00
Juan Leyva
6c344ff282 MDL-64656 core_tag: Return tags in modules and blog 2019-04-11 10:20:44 +02:00
Adrian Greeve
799d32fd2d MDL-63690 core_blog: Update providers for userlist deletion. 2018-10-26 09:07:01 +08:00
Juan Leyva
ca48cc915b MDL-61245 core_blog: New Web Service core_blog_view_entries 2018-10-10 09:58:08 +02:00
Juan Leyva
bb96ff716d MDL-60425 core_blog: New WS core_blog_get_entries 2018-10-02 14:49:48 +02:00
Víctor Déniz Falcón
02fda279ed MDL-57281 behat: deprecated step definition I navigate to node in
Definition step deprecated and affected tests modified.
2018-08-20 12:53:26 +01:00
Marina Glancy
2207b0fa9f MDL-62068 core_tag: implement privacy API 2018-05-08 11:30:54 +08:00
Andrew Nicols
7072009431 MDL-61836 blog: Fix random order failures 2018-04-20 08:56:05 +08:00
Frédéric Massart
ce1ec9b4d9 MDL-61836 core_blog: Implement privacy API 2018-04-13 13:22:03 +08:00
Simey Lameze
fdeeaff954 MDL-58265 core_test: replace I turn editing on steps
Also remove few more unnecessary steps that redirects behat to
site home page to actually get to the course.

Part of MDL-55611 epic.
2017-04-03 11:37:07 +08:00
Simey Lameze
c987d1b2ef MDL-58265 core_test: replace all uses of I follow course steps
Part of MDL-55611 epic.
2017-04-03 11:37:07 +08:00