diff --git a/admin/tool/generator/tests/maketestcourse_test.php b/admin/tool/generator/tests/maketestcourse_test.php index 74a25e032e7..78851d42782 100644 --- a/admin/tool/generator/tests/maketestcourse_test.php +++ b/admin/tool/generator/tests/maketestcourse_test.php @@ -110,4 +110,45 @@ class tool_generator_maketestcourse_testcase extends advanced_testcase { fd.forum = ?", array($forum->instance)); $this->assertEquals(2, $posts); } + + /** + * Creates an small test course with fixed data set and checks the used sections and users. + */ + public function test_fixed_data_set() { + + $this->resetAfterTest(); + $this->setAdminUser(); + + // Create the S course (more sections and activities than XS). + $backend = new tool_generator_backend('TOOL_S_COURSE_1', 1, true, false); + $courseid = $backend->make(); + + // Get course details. + $course = get_course($courseid); + $modinfo = get_fast_modinfo($course); + + // Check module instances belongs to section 1. + $instances = $modinfo->get_instances_of('page'); + foreach ($instances as $instance) { + $this->assertEquals(1, $instance->sectionnum); + } + + // Users that started discussions are the same. + $forums = $modinfo->get_instances_of('forum'); + $discussions = forum_get_discussions(reset($forums), 'd.timemodified ASC'); + $lastusernumber = 0; + $discussionstarters = array(); + foreach ($discussions as $discussion) { + $usernumber = intval($discussion->lastname); + + // Checks that the users are odd numbers. + $this->assertEquals(1, $usernumber % 2); + + // Checks that the users follows an increasing order. + $this->assertGreaterThan($lastusernumber, $usernumber); + $lastusernumber = $usernumber; + $discussionstarters[$discussion->userid] = $discussion->subject; + } + + } }