mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 00:46:50 +02:00
MDL-59382 calendar: add modal to create and update events
This commit is contained in:
parent
6103fd2efe
commit
aa0912258d
23 changed files with 2392 additions and 157 deletions
|
@ -1547,4 +1547,148 @@ class core_grouplib_testcase extends advanced_testcase {
|
|||
$this->assertCount(2, $members); // Now I see members of group 3.
|
||||
$this->assertEquals([$user1->id, $user3->id], array_keys($members), '', 0.0, 10, true);
|
||||
}
|
||||
|
||||
public function test_groups_get_all_groups_for_courses_no_courses() {
|
||||
$this->resetAfterTest(true);
|
||||
$generator = $this->getDataGenerator();
|
||||
|
||||
$this->assertEquals([], groups_get_all_groups_for_courses([]));
|
||||
}
|
||||
|
||||
public function test_groups_get_all_groups_for_courses_with_courses() {
|
||||
$this->resetAfterTest(true);
|
||||
$generator = $this->getDataGenerator();
|
||||
|
||||
// Create courses.
|
||||
$course1 = $generator->create_course(); // no groups.
|
||||
$course2 = $generator->create_course(); // one group, no members.
|
||||
$course3 = $generator->create_course(); // one group, one member.
|
||||
$course4 = $generator->create_course(); // one group, multiple members.
|
||||
$course5 = $generator->create_course(); // two groups, no members.
|
||||
$course6 = $generator->create_course(); // two groups, one member.
|
||||
$course7 = $generator->create_course(); // two groups, multiple members.
|
||||
|
||||
$courses = [$course1, $course2, $course3, $course4, $course5, $course6, $course7];
|
||||
// Create users.
|
||||
$user1 = $generator->create_user();
|
||||
$user2 = $generator->create_user();
|
||||
$user3 = $generator->create_user();
|
||||
$user4 = $generator->create_user();
|
||||
|
||||
// Enrol users.
|
||||
foreach ($courses as $course) {
|
||||
$generator->enrol_user($user1->id, $course->id);
|
||||
$generator->enrol_user($user2->id, $course->id);
|
||||
$generator->enrol_user($user3->id, $course->id);
|
||||
$generator->enrol_user($user4->id, $course->id);
|
||||
}
|
||||
|
||||
// Create groups.
|
||||
$group1 = $generator->create_group(array('courseid' => $course2->id)); // no members.
|
||||
$group2 = $generator->create_group(array('courseid' => $course3->id)); // one member.
|
||||
$group3 = $generator->create_group(array('courseid' => $course4->id)); // multiple members.
|
||||
$group4 = $generator->create_group(array('courseid' => $course5->id)); // no members.
|
||||
$group5 = $generator->create_group(array('courseid' => $course5->id)); // no members.
|
||||
$group6 = $generator->create_group(array('courseid' => $course6->id)); // one member.
|
||||
$group7 = $generator->create_group(array('courseid' => $course6->id)); // one member.
|
||||
$group8 = $generator->create_group(array('courseid' => $course7->id)); // multiple members.
|
||||
$group9 = $generator->create_group(array('courseid' => $course7->id)); // multiple members.
|
||||
|
||||
// Assign users to groups.
|
||||
$generator->create_group_member(array('groupid' => $group2->id, 'userid' => $user1->id));
|
||||
$generator->create_group_member(array('groupid' => $group3->id, 'userid' => $user1->id));
|
||||
$generator->create_group_member(array('groupid' => $group3->id, 'userid' => $user2->id));
|
||||
$generator->create_group_member(array('groupid' => $group6->id, 'userid' => $user1->id));
|
||||
$generator->create_group_member(array('groupid' => $group7->id, 'userid' => $user1->id));
|
||||
$generator->create_group_member(array('groupid' => $group8->id, 'userid' => $user1->id));
|
||||
$generator->create_group_member(array('groupid' => $group8->id, 'userid' => $user2->id));
|
||||
$generator->create_group_member(array('groupid' => $group9->id, 'userid' => $user1->id));
|
||||
$generator->create_group_member(array('groupid' => $group9->id, 'userid' => $user2->id));
|
||||
|
||||
$result = groups_get_all_groups_for_courses($courses);
|
||||
$assertPropertiesMatch = function($expected, $actual) {
|
||||
$props = get_object_vars($expected);
|
||||
|
||||
foreach ($props as $name => $val) {
|
||||
$got = $actual->{$name};
|
||||
$this->assertEquals(
|
||||
$val,
|
||||
$actual->{$name},
|
||||
"Failed asserting that {$got} equals {$val} for property {$name}"
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
// Course 1 has no groups.
|
||||
$this->assertEquals([], $result[$course1->id]);
|
||||
|
||||
// Course 2 has one group with no members.
|
||||
$coursegroups = $result[$course2->id];
|
||||
$coursegroup = $coursegroups[$group1->id];
|
||||
$this->assertCount(1, $coursegroups);
|
||||
$this->assertEquals([], $coursegroup->members);
|
||||
$assertPropertiesMatch($group1, $coursegroup);
|
||||
|
||||
// Course 3 has one group with one member.
|
||||
$coursegroups = $result[$course3->id];
|
||||
$coursegroup = $coursegroups[$group2->id];
|
||||
$groupmember1 = $coursegroup->members[$user1->id];
|
||||
$this->assertCount(1, $coursegroups);
|
||||
$this->assertCount(1, $coursegroup->members);
|
||||
$assertPropertiesMatch($group2, $coursegroup);
|
||||
$this->assertEquals($user1->id, $groupmember1->userid);
|
||||
|
||||
// Course 4 has one group with multiple members.
|
||||
$coursegroups = $result[$course4->id];
|
||||
$coursegroup = $coursegroups[$group3->id];
|
||||
$groupmember1 = $coursegroup->members[$user1->id];
|
||||
$groupmember2 = $coursegroup->members[$user2->id];
|
||||
$this->assertCount(1, $coursegroups);
|
||||
$this->assertCount(2, $coursegroup->members);
|
||||
$assertPropertiesMatch($group3, $coursegroup);
|
||||
$this->assertEquals($user1->id, $groupmember1->userid);
|
||||
$this->assertEquals($user2->id, $groupmember2->userid);
|
||||
|
||||
// Course 5 has multiple groups with no members.
|
||||
$coursegroups = $result[$course5->id];
|
||||
$coursegroup1 = $coursegroups[$group4->id];
|
||||
$coursegroup2 = $coursegroups[$group5->id];
|
||||
$this->assertCount(2, $coursegroups);
|
||||
$this->assertEquals([], $coursegroup1->members);
|
||||
$this->assertEquals([], $coursegroup2->members);
|
||||
$assertPropertiesMatch($group4, $coursegroup1);
|
||||
$assertPropertiesMatch($group5, $coursegroup2);
|
||||
|
||||
// Course 6 has multiple groups with one member.
|
||||
$coursegroups = $result[$course6->id];
|
||||
$coursegroup1 = $coursegroups[$group6->id];
|
||||
$coursegroup2 = $coursegroups[$group7->id];
|
||||
$group1member1 = $coursegroup1->members[$user1->id];
|
||||
$group2member1 = $coursegroup2->members[$user1->id];
|
||||
$this->assertCount(2, $coursegroups);
|
||||
$this->assertCount(1, $coursegroup1->members);
|
||||
$this->assertCount(1, $coursegroup2->members);
|
||||
$assertPropertiesMatch($group6, $coursegroup1);
|
||||
$assertPropertiesMatch($group7, $coursegroup2);
|
||||
$this->assertEquals($user1->id, $group1member1->userid);
|
||||
$this->assertEquals($user1->id, $group2member1->userid);
|
||||
|
||||
// Course 7 has multiple groups with multiple members.
|
||||
$coursegroups = $result[$course7->id];
|
||||
$coursegroup1 = $coursegroups[$group8->id];
|
||||
$coursegroup2 = $coursegroups[$group9->id];
|
||||
$group1member1 = $coursegroup1->members[$user1->id];
|
||||
$group1member2 = $coursegroup1->members[$user2->id];
|
||||
$group2member1 = $coursegroup2->members[$user1->id];
|
||||
$group2member2 = $coursegroup2->members[$user2->id];
|
||||
$this->assertCount(2, $coursegroups);
|
||||
$this->assertCount(2, $coursegroup1->members);
|
||||
$this->assertCount(2, $coursegroup2->members);
|
||||
$assertPropertiesMatch($group8, $coursegroup1);
|
||||
$assertPropertiesMatch($group9, $coursegroup2);
|
||||
$this->assertEquals($user1->id, $group1member1->userid);
|
||||
$this->assertEquals($user2->id, $group1member2->userid);
|
||||
$this->assertEquals($user1->id, $group2member1->userid);
|
||||
$this->assertEquals($user2->id, $group2member2->userid);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue