From 5a22258f42f34a7e67f11f150aa5530c31aec34f Mon Sep 17 00:00:00 2001 From: Meirza Date: Wed, 22 Feb 2023 11:41:51 +0700 Subject: [PATCH] MDL-77350 favourites: 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. // Removed test_add_malformed_favourite() PHPUnit version >= 9.5 no longer converts PHP deprecations to exceptions by default. To comply with PHP 8.2, which will deprecate the dynamic properties, we need to remove test_add_malformed_favourite() because the test will raise a warning for dynamic property deprecations. --- favourites/classes/local/entity/favourite.php | 3 +++ .../local/repository/favourite_repository.php | 3 ++- favourites/tests/repository_test.php | 22 ------------------- 3 files changed, 5 insertions(+), 23 deletions(-) diff --git a/favourites/classes/local/entity/favourite.php b/favourites/classes/local/entity/favourite.php index a10a8f27014..f8a564dd8d2 100644 --- a/favourites/classes/local/entity/favourite.php +++ b/favourites/classes/local/entity/favourite.php @@ -59,6 +59,9 @@ class favourite { /** @var int $timemodified the time at which the last modification of the favourite took place.*/ public $timemodified; + /** @var string $uniquekey favourite unique key.*/ + public $uniquekey; + /** * Favourite constructor. * @param string $component the frankenstyle name of the component containing the favourited item. E.g. 'core_course'. diff --git a/favourites/classes/local/repository/favourite_repository.php b/favourites/classes/local/repository/favourite_repository.php index c9403be5b55..f65461a583e 100644 --- a/favourites/classes/local/repository/favourite_repository.php +++ b/favourites/classes/local/repository/favourite_repository.php @@ -95,7 +95,8 @@ class favourite_repository implements favourite_repository_interface { 'ordering' => false, 'timecreated' => false, 'timemodified' => false, - 'id' => false + 'id' => false, + 'uniquekey' => false ]; $requiredfields = array_filter($allowedfields, function($field) { diff --git a/favourites/tests/repository_test.php b/favourites/tests/repository_test.php index 1488096b4c9..c83efcbcc29 100644 --- a/favourites/tests/repository_test.php +++ b/favourites/tests/repository_test.php @@ -81,28 +81,6 @@ class repository_test extends \advanced_testcase { $favouritesrepo->add($favcourse); } - /** - * Tests that malformed favourites cannot be saved. - */ - public function test_add_malformed_favourite() { - list($user1context, $user2context, $course1context, $course2context) = $this->setup_users_and_courses(); - - // Create a favourites repository and favourite a course. - $favouritesrepo = new favourite_repository($user1context); - - $favcourse = new favourite( - 'core_course', - 'course', - $course1context->instanceid, - $course1context->id, - $user1context->instanceid - ); - $favcourse->something = 'something'; - - $this->expectException('moodle_exception'); - $favouritesrepo->add($favcourse); - } - /** * Tests that incomplete favourites cannot be saved. */