MDL-70102 PHPunit: Core test fails with weird added modules
authorsam marshall <s.marshall@open.ac.uk>
Wed, 25 Nov 2020 14:54:50 +0000 (14:54 +0000)
committersam marshall <s.marshall@open.ac.uk>
Thu, 7 Jan 2021 16:11:55 +0000 (16:11 +0000)
Specifically it fails if the modules have unusual default capabilities
so that editingteacher doesn't have addinstance.

course/tests/services_content_item_service_test.php

index f1924fb..f838265 100644 (file)
@@ -121,7 +121,8 @@ class services_content_item_service_testcase extends \advanced_testcase {
 
         // The call to get_all_content_items() should return the same items as for the course,
         // given the user in an editing teacher and can add manual lti instances.
 
         // The call to get_all_content_items() should return the same items as for the course,
         // given the user in an editing teacher and can add manual lti instances.
-        $this->assertEquals(array_column($allcontentitems, 'name'), array_column($coursecontentitems, 'name'));
+        $this->assertContains('lti', array_column($coursecontentitems, 'name'));
+        $this->assertContains('lti', array_column($allcontentitems, 'name'));
 
         // Now removing the cap 'mod/lti:addinstance'. This will restrict those items returned by the course-specific method.
         $teacherrole = $DB->get_record('role', array('shortname' => 'editingteacher'));
 
         // Now removing the cap 'mod/lti:addinstance'. This will restrict those items returned by the course-specific method.
         $teacherrole = $DB->get_record('role', array('shortname' => 'editingteacher'));