ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
ilIndividualAssessmentMembersTest.php
Go to the documentation of this file.
1 <?php
2 require_once 'Modules/IndividualAssessment/classes/Members/class.ilIndividualAssessmentMembers.php';
3 require_once 'Modules/IndividualAssessment/classes/Members/class.ilIndividualAssessmentMember.php';
4 require_once 'Modules/IndividualAssessment/classes/Members/class.ilIndividualAssessmentMembersStorageDB.php';
5 require_once 'Modules/IndividualAssessment/classes/Settings/class.ilIndividualAssessmentSettings.php';
6 require_once 'Modules/IndividualAssessment/interfaces/AccessControl/interface.IndividualAssessmentAccessHandler.php';
7 require_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;
63  $storage = new ilIndividualAssessmentMembersStorageDB($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 }
For the purpose of streamlining the grading and learning-process status definition outside of tests...
test_finalize_nongraded($args)
test_remove_members ilIndividualAssessmentException
Create styles array
The data for the language used.
setFirstname($a_str)
set firstname public
global $ilDB
test_re_grade($args)
test_finalize_graded ilIndividualAssessmentException
Add data(end) time
Method that wraps PHPs time in order to allow simulations with the workflow.
test_re_finalize($args)
test_finalize_graded ilIndividualAssessmentException