. namespace format_singleactivity; /** * Single activity course format related unit tests. * * @package format_singleactivity * @copyright 2023 Sara Arjona * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later * @covers \format_singleactivity */ class format_singleactivity_test extends \advanced_testcase { /** * Test for get_view_url(). * * @covers ::get_view_url */ public function test_get_view_url(): void { global $CFG; $this->resetAfterTest(); // Generate a course with two sections (0 and 1) and two modules. $generator = $this->getDataGenerator(); $course1 = $generator->create_course(['format' => 'singleactivity']); course_create_sections_if_missing($course1, [0, 1]); $data = (object)['id' => $course1->id]; $format = course_get_format($course1); $format->update_course_format_options($data); // In page. $this->assertNotEmpty($format->get_view_url(null)); $this->assertNotEmpty($format->get_view_url(0)); $this->assertNotEmpty($format->get_view_url(1)); // Navigation. $this->assertStringContainsString('course/view.php', $format->get_view_url(0)); $this->assertStringContainsString('course/view.php', $format->get_view_url(1)); $this->assertStringContainsString('course/view.php', $format->get_view_url(0, ['navigation' => 1])); $this->assertStringContainsString('course/view.php', $format->get_view_url(1, ['navigation' => 1])); $this->assertStringContainsString('course/view.php', $format->get_view_url(0, ['sr' => 1])); $this->assertStringContainsString('course/view.php', $format->get_view_url(1, ['sr' => 1])); $this->assertStringContainsString('course/view.php', $format->get_view_url(0, ['sr' => 0])); $this->assertStringContainsString('course/view.php', $format->get_view_url(1, ['sr' => 0])); } /** * Test get_required_jsfiles(). * * @covers ::get_required_jsfiles */ public function test_get_required_jsfiles(): void { $this->resetAfterTest(); $generator = $this->getDataGenerator(); $course = $generator->create_course(['format' => 'singleactivity']); $format = course_get_format($course); $this->assertEmpty($format->get_required_jsfiles()); } }