From 5341d76031aa359a1e849f4f7c628e8e7d873f78 Mon Sep 17 00:00:00 2001 From: "Eloy Lafuente (stronk7)" Date: Mon, 26 Jun 2017 19:45:05 +0200 Subject: [PATCH] MDL-58813 phpunit: pick test from 32_STABLE to fix expected behavior --- course/tests/externallib_test.php | 34 +++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/course/tests/externallib_test.php b/course/tests/externallib_test.php index 8012a7fb27a..d932dd867c7 100644 --- a/course/tests/externallib_test.php +++ b/course/tests/externallib_test.php @@ -361,6 +361,40 @@ class core_course_externallib_testcase extends externallib_advanced_testcase { core_course_external::update_categories($categories); } + /** + * Test create_courses numsections + */ + public function test_create_course_numsections() { + global $DB; + + $this->resetAfterTest(true); + + // Set the required capabilities by the external function. + $contextid = context_system::instance()->id; + $roleid = $this->assignUserCapability('moodle/course:create', $contextid); + $this->assignUserCapability('moodle/course:visibility', $contextid, $roleid); + + $numsections = 10; + $category = self::getDataGenerator()->create_category(); + + // Create base categories. + $course1['fullname'] = 'Test course 1'; + $course1['shortname'] = 'Testcourse1'; + $course1['categoryid'] = $category->id; + $course1['courseformatoptions'][] = array('name' => 'numsections', 'value' => $numsections); + + $courses = array($course1); + + $createdcourses = core_course_external::create_courses($courses); + foreach ($createdcourses as $createdcourse) { + $existingsections = $DB->get_records('course_sections', array('course' => $createdcourse['id'])); + $modinfo = get_fast_modinfo($createdcourse['id']); + $sections = $modinfo->get_section_info_all(); + $this->assertEquals(count($sections), $numsections + 1); // Includes generic section. + $this->assertEquals(count($existingsections), $numsections + 1); // Includes generic section. + } + } + /** * Test create_courses */