mirror of
https://github.com/moodle/moodle.git
synced 2025-03-24 09:30:17 +01:00
Merge branch 'MDL-44794-master' of git://github.com/lameze/moodle
This commit is contained in:
commit
91a4788b17
@ -767,4 +767,75 @@ class core_grouplib_testcase extends advanced_testcase {
|
||||
$this->assertEquals('Group 1', $groups[0]->name);
|
||||
$this->assertEquals('Group 2', $groups[1]->name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests for groups_get_user_groups() method.
|
||||
*/
|
||||
public function test_groups_get_user_groups() {
|
||||
$this->resetAfterTest(true);
|
||||
$generator = $this->getDataGenerator();
|
||||
|
||||
// Create courses.
|
||||
$course1 = $generator->create_course();
|
||||
$course2 = $generator->create_course();
|
||||
|
||||
// Create users.
|
||||
$user1 = $generator->create_user();
|
||||
$user2 = $generator->create_user();
|
||||
$user3 = $generator->create_user();
|
||||
|
||||
// Enrol users.
|
||||
$generator->enrol_user($user1->id, $course1->id);
|
||||
$generator->enrol_user($user1->id, $course2->id);
|
||||
$generator->enrol_user($user2->id, $course2->id);
|
||||
$generator->enrol_user($user3->id, $course2->id);
|
||||
|
||||
// Create groups.
|
||||
$group1 = $generator->create_group(array('courseid' => $course1->id));
|
||||
$group2 = $generator->create_group(array('courseid' => $course2->id));
|
||||
$group3 = $generator->create_group(array('courseid' => $course2->id));
|
||||
|
||||
// Assign users to groups.
|
||||
$this->assertTrue($generator->create_group_member(array('groupid' => $group1->id, 'userid' => $user1->id)));
|
||||
$this->assertTrue($generator->create_group_member(array('groupid' => $group2->id, 'userid' => $user2->id)));
|
||||
|
||||
// Get user groups.
|
||||
$usergroups1 = groups_get_user_groups($course1->id, $user1->id);
|
||||
$usergroups2 = groups_get_user_groups($course2->id, $user2->id);;
|
||||
|
||||
// Assert return data.
|
||||
$this->assertEquals($group1->id, $usergroups1[0][0]);
|
||||
$this->assertEquals($group2->id, $usergroups2[0][0]);
|
||||
|
||||
// Now, test with groupings.
|
||||
$grouping1 = $generator->create_grouping(array('courseid' => $course1->id));
|
||||
$grouping2 = $generator->create_grouping(array('courseid' => $course2->id));
|
||||
|
||||
// Assign the groups to grouping.
|
||||
groups_assign_grouping($grouping1->id, $group1->id);
|
||||
groups_assign_grouping($grouping2->id, $group2->id);
|
||||
groups_assign_grouping($grouping2->id, $group3->id);
|
||||
|
||||
// Test with grouping.
|
||||
$usergroups1 = groups_get_user_groups($course1->id, $user1->id);
|
||||
$usergroups2 = groups_get_user_groups($course2->id, $user2->id);
|
||||
$this->assertArrayHasKey($grouping1->id, $usergroups1);
|
||||
$this->assertArrayHasKey($grouping2->id, $usergroups2);
|
||||
|
||||
// Test user without a group.
|
||||
$usergroups1 = groups_get_user_groups($course2->id, $user3->id);
|
||||
$this->assertCount(0, $usergroups1[0]);
|
||||
|
||||
// Test with userid = 0.
|
||||
$usergroups1 = groups_get_user_groups($course1->id, 0);
|
||||
$usergroups2 = groups_get_user_groups($course2->id, 0);
|
||||
$this->assertCount(0, $usergroups1[0]);
|
||||
$this->assertCount(0, $usergroups2[0]);
|
||||
|
||||
// Test with courseid = 0.
|
||||
$usergroups1 = groups_get_user_groups(0, $user1->id);
|
||||
$usergroups2 = groups_get_user_groups(0, $user2->id);
|
||||
$this->assertCount(0, $usergroups1[0]);
|
||||
$this->assertCount(0, $usergroups2[0]);
|
||||
}
|
||||
}
|
||||
|
@ -902,4 +902,67 @@ class core_modinfolib_testcase extends advanced_testcase {
|
||||
$this->assertEquals(0, $section1->groupingid);
|
||||
$this->assertDebuggingCalled(null, DEBUG_DEVELOPER);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests for get_groups() method.
|
||||
*/
|
||||
public function test_get_groups() {
|
||||
$this->resetAfterTest();
|
||||
$generator = $this->getDataGenerator();
|
||||
|
||||
// Create courses.
|
||||
$course1 = $generator->create_course();
|
||||
$course2 = $generator->create_course();
|
||||
$course3 = $generator->create_course();
|
||||
|
||||
// Create users.
|
||||
$user1 = $generator->create_user();
|
||||
$user2 = $generator->create_user();
|
||||
$user3 = $generator->create_user();
|
||||
|
||||
// Enrol users on courses.
|
||||
$generator->enrol_user($user1->id, $course1->id);
|
||||
$generator->enrol_user($user2->id, $course2->id);
|
||||
$generator->enrol_user($user3->id, $course2->id);
|
||||
$generator->enrol_user($user3->id, $course3->id);
|
||||
|
||||
// Create groups.
|
||||
$group1 = $generator->create_group(array('courseid' => $course1->id));
|
||||
$group2 = $generator->create_group(array('courseid' => $course2->id));
|
||||
$group3 = $generator->create_group(array('courseid' => $course2->id));
|
||||
|
||||
// Assign users to groups and assert the result.
|
||||
$this->assertTrue($generator->create_group_member(array('groupid' => $group1->id, 'userid' => $user1->id)));
|
||||
$this->assertTrue($generator->create_group_member(array('groupid' => $group2->id, 'userid' => $user2->id)));
|
||||
$this->assertTrue($generator->create_group_member(array('groupid' => $group3->id, 'userid' => $user2->id)));
|
||||
$this->assertTrue($generator->create_group_member(array('groupid' => $group2->id, 'userid' => $user3->id)));
|
||||
|
||||
// Create groupings.
|
||||
$grouping1 = $generator->create_grouping(array('courseid' => $course1->id));
|
||||
$grouping2 = $generator->create_grouping(array('courseid' => $course2->id));
|
||||
|
||||
// Assign and assert group to groupings.
|
||||
groups_assign_grouping($grouping1->id, $group1->id);
|
||||
groups_assign_grouping($grouping2->id, $group2->id);
|
||||
groups_assign_grouping($grouping2->id, $group3->id);
|
||||
|
||||
// Test with one single group.
|
||||
$modinfo = get_fast_modinfo($course1, $user1->id);
|
||||
$groups = $modinfo->get_groups($grouping1->id);
|
||||
$this->assertCount(1, $groups);
|
||||
$this->assertArrayHasKey($group1->id, $groups);
|
||||
|
||||
// Test with two groups.
|
||||
$modinfo = get_fast_modinfo($course2, $user2->id);
|
||||
$groups = $modinfo->get_groups();
|
||||
$this->assertCount(2, $groups);
|
||||
$this->assertTrue(in_array($group2->id, $groups));
|
||||
$this->assertTrue(in_array($group3->id, $groups));
|
||||
|
||||
// Test with no groups.
|
||||
$modinfo = get_fast_modinfo($course3, $user3->id);
|
||||
$groups = $modinfo->get_groups();
|
||||
$this->assertCount(0, $groups);
|
||||
$this->assertArrayNotHasKey($group1->id, $groups);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user