Пример #1
0
 /**
  * Test create and update groupings.
  * @return void
  */
 public function test_create_update_groupings()
 {
     global $DB;
     $this->resetAfterTest(true);
     $this->setAdminUser();
     $course = self::getDataGenerator()->create_course();
     $grouping1data = array();
     $grouping1data['courseid'] = $course->id;
     $grouping1data['name'] = 'Grouping 1 Test';
     $grouping1data['description'] = 'Grouping 1 Test description';
     $grouping1data['descriptionformat'] = FORMAT_MOODLE;
     $grouping1data['idnumber'] = 'TEST';
     $grouping1 = self::getDataGenerator()->create_grouping($grouping1data);
     $grouping1data['name'] = 'Another group';
     try {
         $groupings = core_group_external::create_groupings(array($grouping1data));
         $this->fail('Exception expected due to already existing idnumber.');
     } catch (moodle_exception $e) {
         $this->assertInstanceOf('invalid_parameter_exception', $e);
         $this->assertEquals('Invalid parameter value detected (Grouping with the same idnumber already exists)', $e->getMessage());
     }
     // No exception should be triggered.
     $grouping1data['id'] = $grouping1->id;
     $grouping1data['idnumber'] = 'CHANGED';
     unset($grouping1data['courseid']);
     core_group_external::update_groupings(array($grouping1data));
     $grouping2data = array();
     $grouping2data['courseid'] = $course->id;
     $grouping2data['name'] = 'Grouping 2 Test';
     $grouping2data['description'] = 'Grouping 2 Test description';
     $grouping2data['descriptionformat'] = FORMAT_MOODLE;
     $grouping2data['idnumber'] = 'TEST';
     $grouping2 = self::getDataGenerator()->create_grouping($grouping2data);
     $grouping2data['id'] = $grouping2->id;
     $grouping2data['idnumber'] = 'CHANGED';
     unset($grouping2data['courseid']);
     try {
         $groupings = core_group_external::update_groupings(array($grouping2data));
         $this->fail('Exception expected due to already existing idnumber.');
     } catch (moodle_exception $e) {
         $this->assertInstanceOf('invalid_parameter_exception', $e);
         $this->assertEquals('Invalid parameter value detected (A different grouping with the same idnumber already exists)', $e->getMessage());
     }
 }