ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
ilIndividualAssessmentMembersTest.php
Go to the documentation of this file.
1<?php
2require_once 'Modules/IndividualAssessment/classes/Members/class.ilIndividualAssessmentMembers.php';
3require_once 'Modules/IndividualAssessment/classes/Members/class.ilIndividualAssessmentMember.php';
4require_once 'Modules/IndividualAssessment/classes/Members/class.ilIndividualAssessmentMembersStorageDB.php';
5require_once 'Modules/IndividualAssessment/classes/Settings/class.ilIndividualAssessmentSettings.php';
6require_once 'Modules/IndividualAssessment/interfaces/AccessControl/interface.IndividualAssessmentAccessHandler.php';
7require_once 'Modules/IndividualAssessment/interfaces/Notification/interface.ilIndividualAssessmentNotificator.php';
13 public static $iass;
14 public static $created_users = array();
15
16 public function setUp() {
17 include_once("./Services/PHPUnit/classes/class.ilUnitUtil.php");
18 ilUnitUtil::performInitialisation();
19
20 }
21
22 public function createUser() {
23 $user = new ilObjUser;
24 $user->setFirstname('iass_test_firstname'.(count(self::$created_users)+time()));
25 $user->setLastname('iass_test_lastname'.(count(self::$created_users)+time()));
26 $user->setLogin('iass_tesst_login'.(count(self::$created_users)+time()));
27 $user->create();
28 $user->saveAsNew();
29 self::$created_users[] = $user;
30 return $user;
31 }
32
33 protected function compareMembersUsrList($members,$usr_list) {
34 $usr_it = array();
35
36
37 foreach($members as $member_id => $member_data) {
39 $usr_it[] = $member_id;
40 $this->assertTrue(isset($usr_list[$member_id]));
41 }
42 return;
43 foreach ($usr_list as $usr_id => $usr) {
44 $this->assertTrue($members->userAllreadyMember($usr));
45 }
46 $this->assertEquals(count($usr_it),count($usr_list));
47 }
48
49 protected function rbacHandlerMock() {
50 return $this->getMock('IndividualAssessmentAccessHandler');
51 }
52
53 protected function notificaterMock() {
54 return $this->getMock('ilIndividualAssessmentNotificator');
55 }
56
57 public function test_init_iass() {
59 $iass ->setTitle("iass_test");
60 $iass ->setDescription("iass_test_desc");
61 $iass ->setId(100000000);
62 global $ilDB;
64 return array($iass,$storage);
65 }
66
70 public function test_create_members($args) {
71 $iass = $args[0];
72 $storage = $args[1];
73 $members = $storage->loadMembers($iass);
74
75 $usr_1 = $this->createUser();
76 $usr_2 = $this->createUser();
77
78 $usrs = array($usr_1->getId() => $usr_1,$usr_2->getId() => $usr_2);
79 $members = $members->withAdditionalUser($usr_1)->withAdditionalUser($usr_2);
80 $members->updateStorageAndRBAC($storage,$this->rbacHandlerMock());
81 $this->compareMembersUsrList($members,$usrs);
82
83 return array($usrs,$iass,$storage);
84 }
85
89 public function test_load_members($args) {
90 $usrs = $args[0];
91 $iass = $args[1];
92 $storage = $args[2];
93 $members = $storage->loadMembers($iass);
94 $this->compareMembersUsrList($members,$usrs);
95 return array($usrs,$iass,$storage);
96 }
97
101 public function test_load_member($args) {
102 $usrs = $args[0];
103 $iass = $args[1];
104 $storage = $args[2];
105 foreach ($usrs as $usr_id => $usr) {
106 $member = $storage->loadMember($iass,$usr);
107 $this->assertEquals($usr_id, $member->id());
108 $this->assertEquals($member->record(), ilIndividualAssessmentSettings::DEF_RECORD_TEMPLATE);
109 $this->assertEquals($member->lastname(), $usr->getLastname());
110 $member = $member->withRecord("record_of".$usr_id);
111 $storage->updateMember($member);
112 }
113 return array($usrs,$iass,$storage);
114 }
115
119 public function test_reload_member($args) {
120 $usrs = $args[0];
121 $iass = $args[1];
122 $storage = $args[2];
123 foreach ($usrs as $usr_id => $usr) {
124 $member = $storage->loadMember($iass,$usr);
125 $this->assertEquals($usr_id, $member->id());
126 $this->assertEquals($member->record(), "record_of".$usr_id);
127 $this->assertEquals($member->lastname(), $usr->getLastname());
128 $member = $member->withRecord(ilIndividualAssessmentSettings::DEF_RECORD_TEMPLATE);
129 $storage->updateMember($member);
130 }
131 return array($usrs,$iass,$storage);
132 }
133
137 public function test_remove_members($args) {
138 $usrs = $args[0];
139 $iass = $args[1];
140 $storage = $args[2];
141 $new_usr = $this->createUser();
142 $members = $storage->loadMembers($iass)->withAdditionalUser($new_usr);
143 $members->updateStorageAndRBAC($storage,$this->rbacHandlerMock());
144 $members = $storage->loadMembers($iass);
145 $usrs[$new_usr->getId()] = $new_usr;
146 $this->compareMembersUsrList($members, $usrs);
147 $members->withoutPresentUser($new_usr)->updateStorageAndRBAC($storage,$this->rbacHandlerMock());
148 $members = $storage->loadMembers($iass);
149 unset($usrs[$new_usr->getId()]);
150 $this->compareMembersUsrList($members, $usrs);
151 return array($usrs,$iass,$storage);
152 }
153
158 public function test_finalize_nongraded($args) {
159 $usrs = $args[0];
160 $iass = $args[1];
161 $storage = $args[2];
162 $member = $storage->loadMember($iass,current($usrs))->withFinalized();
163 }
164
168 public function test_finalize_graded($args) {
169 $usrs = $args[0];
170 $iass = $args[1];
171 $storage = $args[2];
172 $storage->updateMember($storage->loadMember($iass,current($usrs))->withLPStatus(ilIndividualAssessmentMembers::LP_COMPLETED)->withFinalized());
173 $this->assertEquals($storage->loadMember($iass,current($usrs))->LPStatus(),ilIndividualAssessmentMembers::LP_COMPLETED);
174 $this->assertTrue($storage->loadMember($iass,current($usrs))->finalized());
175 return array($usrs,$iass,$storage);
176 }
177
182 public function test_re_grade($args) {
183 $usrs = $args[0];
184 $iass = $args[1];
185 $storage = $args[2];
186 $storage->loadMember($iass,current($usrs))->withLPStatus(ilIndividualAssessmentMembers::LP_COMPLETED);
187 }
188
193 public function test_re_finalize($args) {
194 $usrs = $args[0];
195 $iass = $args[1];
196 $storage = $args[2];
197 $storage->loadMember($iass,current($usrs))->withFinalized();
198 }
199
200 public static function tearDownAfterClass() {
201 global $ilDB;
202 foreach (self::$created_users as $user) {
203 $user->delete;
204 $ilDB->manipulate('DELETE FROM iass_settings WHERE obj_id = 100000000');
205 $ilDB->manipulate('DELETE FROM iass_info_settings WHERE obj_id = 100000000');
206 $ilDB->manipulate('DELETE FROM iass_members WHERE obj_id = 100000000');
207 }
208 }
209}
An exception for terminatinating execution or to throw for unit testing.
@backupGlobals disabled @group needsInstalledILIAS
test_re_grade($args)
@depends test_finalize_graded @expectedException ilIndividualAssessmentException
test_re_finalize($args)
@depends test_finalize_graded @expectedException ilIndividualAssessmentException
test_load_member($args)
@depends test_load_members
test_finalize_graded($args)
@depends test_remove_members
test_load_members($args)
@depends test_create_members
test_reload_member($args)
@depends test_load_member
test_remove_members($args)
@depends test_reload_member
test_finalize_nongraded($args)
@depends test_remove_members @expectedException ilIndividualAssessmentException
For the purpose of streamlining the grading and learning-process status definition outside of tests,...
setFirstname($a_str)
set firstname @access public
global $ilDB