diff --git a/mod/lti/service/gradebookservices/classes/local/service/gradebookservices.php b/mod/lti/service/gradebookservices/classes/local/service/gradebookservices.php index caa437aca35..e51e41f2355 100644 --- a/mod/lti/service/gradebookservices/classes/local/service/gradebookservices.php +++ b/mod/lti/service/gradebookservices/classes/local/service/gradebookservices.php @@ -721,7 +721,7 @@ class gradebookservices extends service_base { $gradebookroles = explode(',', $CFG->gradebookroles); foreach ($roles as $role) { foreach ($gradebookroles as $gradebookrole) { - if ($role->roleid = $gradebookrole) { + if ($role->roleid === $gradebookrole) { $gradableuser = true; } } diff --git a/mod/lti/service/gradebookservices/tests/gradebookservices_test.php b/mod/lti/service/gradebookservices/tests/gradebookservices_test.php index da713e9a526..765a67b51ba 100644 --- a/mod/lti/service/gradebookservices/tests/gradebookservices_test.php +++ b/mod/lti/service/gradebookservices/tests/gradebookservices_test.php @@ -150,6 +150,23 @@ class mod_lti_gradebookservices_testcase extends advanced_testcase { $this->assertFalse(array_key_exists('$LineItem.url', $params)); } + /** + * Test if a user can be graded in a course. + */ + public function test_is_user_gradable_in_course() { + $this->resetAfterTest(); + + $generator = $this->getDataGenerator(); + $course = $generator->create_course(); + $user1 = $generator->create_user(); + $user2 = $generator->create_user(); + $generator->enrol_user($user1->id, $course->id, 'student'); + $generator->enrol_user($user2->id, $course->id, 'editingteacher'); + + $this->assertTrue(gradebookservices::is_user_gradable_in_course($course->id, $user1->id)); + $this->assertFalse(gradebookservices::is_user_gradable_in_course($course->id, $user2->id)); + } + /** * Asserts a matching gradebookservices record exist with the matching tag and resourceid. *