Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

MDL-35190 random failures in course externallib test

  • Loading branch information...
commit 7d6c58bc24bd12b3bedd9970b10f49fc4699d8ea 1 parent 569f1ad
@mouneyrac mouneyrac authored
Showing with 46 additions and 32 deletions.
  1. +46 −32 course/tests/externallib_test.php
View
78 course/tests/externallib_test.php
@@ -165,20 +165,28 @@ public function test_get_categories() {
global $DB;
$this->resetAfterTest(true);
+
+ $generatedcats = array();
$category1data['idnumber'] = 'idnumbercat1';
$category1data['name'] = 'Category 1 for PHPunit test';
$category1data['description'] = 'Category 1 description';
$category1data['descriptionformat'] = FORMAT_MOODLE;
$category1 = self::getDataGenerator()->create_category($category1data);
+ $generatedcats[$category1->id] = $category1;
$category2 = self::getDataGenerator()->create_category(
array('parent' => $category1->id));
+ $generatedcats[$category2->id] = $category2;
$category6 = self::getDataGenerator()->create_category(
array('parent' => $category1->id, 'visible' => 0));
+ $generatedcats[$category6->id] = $category6;
$category3 = self::getDataGenerator()->create_category();
+ $generatedcats[$category3->id] = $category3;
$category4 = self::getDataGenerator()->create_category(
array('parent' => $category3->id));
+ $generatedcats[$category4->id] = $category4;
$category5 = self::getDataGenerator()->create_category(
array('parent' => $category4->id));
+ $generatedcats[$category5->id] = $category5;
// Set the required capabilities by the external function.
$context = context_system::instance();
@@ -193,11 +201,13 @@ public function test_get_categories() {
$this->assertEquals(2, count($categories));
// Check the return values
- $this->assertEquals($categories[0]['id'], $category1->id);
- $this->assertEquals($categories[0]['idnumber'], $category1->idnumber);
- $this->assertEquals($categories[0]['name'], $category1->name);
- $this->assertEquals($categories[0]['description'], $category1->description);
- $this->assertEquals($categories[0]['descriptionformat'], FORMAT_HTML);
+ foreach ($categories as $category) {
+ $generatedcat = $generatedcats[$category['id']];
+ $this->assertEquals($category['idnumber'], $generatedcat->idnumber);
+ $this->assertEquals($category['name'], $generatedcat->name);
+ $this->assertEquals($category['description'], $generatedcat->description);
+ $this->assertEquals($category['descriptionformat'], FORMAT_HTML);
+ }
// Check different params.
$categories = core_course_external::get_categories(array(
@@ -440,13 +450,17 @@ public function test_get_courses () {
$this->resetAfterTest(true);
+ $generatedcourses = array();
$coursedata['idnumber'] = 'idnumbercourse1';
$coursedata['fullname'] = 'Course 1 for PHPunit test';
$coursedata['summary'] = 'Course 1 description';
$coursedata['summaryformat'] = FORMAT_MOODLE;
$course1 = self::getDataGenerator()->create_course($coursedata);
+ $generatedcourses[$course1->id] = $course1;
$course2 = self::getDataGenerator()->create_course();
+ $generatedcourses[$course2->id] = $course2;
$course3 = self::getDataGenerator()->create_course();
+ $generatedcourses[$course3->id] = $course3;
// Set the required capabilities by the external function.
$context = context_system::instance();
@@ -464,33 +478,33 @@ public function test_get_courses () {
// Check we retrieve the good total number of categories.
$this->assertEquals(2, count($courses));
- // Check the return values for course 1
- $dbcourse = $DB->get_record('course', array('id' => $course1->id));
- $this->assertEquals($courses[0]['id'], $dbcourse->id);
- $this->assertEquals($courses[0]['idnumber'], $coursedata['idnumber']);
- $this->assertEquals($courses[0]['fullname'], $coursedata['fullname']);
- $this->assertEquals($courses[0]['summary'], $coursedata['summary']);
- $this->assertEquals($courses[0]['summaryformat'], FORMAT_HTML);
- $this->assertEquals($courses[0]['shortname'], $dbcourse->shortname);
- $this->assertEquals($courses[0]['categoryid'], $dbcourse->category);
- $this->assertEquals($courses[0]['format'], $dbcourse->format);
- $this->assertEquals($courses[0]['showgrades'], $dbcourse->showgrades);
- $this->assertEquals($courses[0]['newsitems'], $dbcourse->newsitems);
- $this->assertEquals($courses[0]['startdate'], $dbcourse->startdate);
- $this->assertEquals($courses[0]['numsections'], $dbcourse->numsections);
- $this->assertEquals($courses[0]['maxbytes'], $dbcourse->maxbytes);
- $this->assertEquals($courses[0]['showreports'], $dbcourse->showreports);
- $this->assertEquals($courses[0]['visible'], $dbcourse->visible);
- $this->assertEquals($courses[0]['hiddensections'], $dbcourse->hiddensections);
- $this->assertEquals($courses[0]['groupmode'], $dbcourse->groupmode);
- $this->assertEquals($courses[0]['groupmodeforce'], $dbcourse->groupmodeforce);
- $this->assertEquals($courses[0]['defaultgroupingid'], $dbcourse->defaultgroupingid);
- $this->assertEquals($courses[0]['completionnotify'], $dbcourse->completionnotify);
- $this->assertEquals($courses[0]['lang'], $dbcourse->lang);
- $this->assertEquals($courses[0]['forcetheme'], $dbcourse->theme);
- $this->assertEquals($courses[0]['completionstartonenrol'], $dbcourse->completionstartonenrol);
- $this->assertEquals($courses[0]['enablecompletion'], $dbcourse->enablecompletion);
- $this->assertEquals($courses[0]['completionstartonenrol'], $dbcourse->completionstartonenrol);
+ foreach ($courses as $course) {
+ $dbcourse = $generatedcourses[$course['id']];
+ $this->assertEquals($course['idnumber'], $dbcourse->idnumber);
+ $this->assertEquals($course['fullname'], $dbcourse->fullname);
+ $this->assertEquals($course['summary'], $dbcourse->summary);
+ $this->assertEquals($course['summaryformat'], FORMAT_HTML);
+ $this->assertEquals($course['shortname'], $dbcourse->shortname);
+ $this->assertEquals($course['categoryid'], $dbcourse->category);
+ $this->assertEquals($course['format'], $dbcourse->format);
+ $this->assertEquals($course['showgrades'], $dbcourse->showgrades);
+ $this->assertEquals($course['newsitems'], $dbcourse->newsitems);
+ $this->assertEquals($course['startdate'], $dbcourse->startdate);
+ $this->assertEquals($course['numsections'], $dbcourse->numsections);
+ $this->assertEquals($course['maxbytes'], $dbcourse->maxbytes);
+ $this->assertEquals($course['showreports'], $dbcourse->showreports);
+ $this->assertEquals($course['visible'], $dbcourse->visible);
+ $this->assertEquals($course['hiddensections'], $dbcourse->hiddensections);
+ $this->assertEquals($course['groupmode'], $dbcourse->groupmode);
+ $this->assertEquals($course['groupmodeforce'], $dbcourse->groupmodeforce);
+ $this->assertEquals($course['defaultgroupingid'], $dbcourse->defaultgroupingid);
+ $this->assertEquals($course['completionnotify'], $dbcourse->completionnotify);
+ $this->assertEquals($course['lang'], $dbcourse->lang);
+ $this->assertEquals($course['forcetheme'], $dbcourse->theme);
+ $this->assertEquals($course['completionstartonenrol'], $dbcourse->completionstartonenrol);
+ $this->assertEquals($course['enablecompletion'], $dbcourse->enablecompletion);
+ $this->assertEquals($course['completionstartonenrol'], $dbcourse->completionstartonenrol);
+ }
// Get all courses in the DB
$courses = core_course_external::get_courses(array());
Please sign in to comment.
Something went wrong with that request. Please try again.