ILIAS  release_7 Revision v7.30-3-g800a261c036
ilIndividualAssessmentMembersTest Class Reference

@backupGlobals disabled @group needsInstalledILIAS More...

+ Inheritance diagram for ilIndividualAssessmentMembersTest:
+ Collaboration diagram for ilIndividualAssessmentMembersTest:

Public Member Functions

 setUp ()
 
 createUser ()
 
 test_init_iass ()
 
 test_create_members ($args)
 @depends test_init_iass More...
 
 test_load_members ($args)
 @depends test_create_members More...
 
 test_load_member ($args)
 @depends test_load_members More...
 
 test_reload_member ($args)
 @depends test_load_member More...
 
 test_remove_members ($args)
 @depends test_reload_member More...
 
 test_finalize_nongraded ($args)
 @depends test_remove_members @expectedException ilIndividualAssessmentException More...
 
 test_finalize_graded ($args)
 @depends test_remove_members More...
 
 test_re_grade ($args)
 @depends test_finalize_graded @expectedException ilIndividualAssessmentException More...
 
 test_re_finalize ($args)
 @depends test_finalize_graded @expectedException ilIndividualAssessmentException More...
 
 test_withOnlyUsersByIds ()
 
 test_withAccessHandling ()
 

Static Public Member Functions

static tearDownAfterClass ()
 

Static Public Attributes

static $iass
 
static $created_users = array()
 

Protected Member Functions

 compareMembersUsrList ($members, $usr_list)
 
 rbacHandlerMock ()
 
 notificaterMock ()
 

Detailed Description

@backupGlobals disabled @group needsInstalledILIAS

Definition at line 24 of file ilIndividualAssessmentMembersTest.php.

Member Function Documentation

◆ compareMembersUsrList()

ilIndividualAssessmentMembersTest::compareMembersUsrList (   $members,
  $usr_list 
)
protected

Definition at line 47 of file ilIndividualAssessmentMembersTest.php.

48 {
49 $usr_it = array();
50
51
52 foreach ($members as $member_id => $member_data) {
53 $this->assertEquals($member_data[ilIndividualAssessmentMembers::FIELD_RECORD], ilIndividualAssessmentSettings::DEF_RECORD_TEMPLATE);
54 $usr_it[] = $member_id;
55 $this->assertTrue(isset($usr_list[$member_id]));
56 }
57 return;
58 foreach ($usr_list as $usr_id => $usr) {
59 $this->assertTrue($members->userAllreadyMember($usr));
60 }
61 $this->assertEquals(count($usr_it), count($usr_list));
62 }

References ilIndividualAssessmentMembers\FIELD_RECORD.

Referenced by test_create_members(), test_load_members(), and test_remove_members().

+ Here is the caller graph for this function:

◆ createUser()

ilIndividualAssessmentMembersTest::createUser ( )

Definition at line 35 of file ilIndividualAssessmentMembersTest.php.

36 {
37 $user = new ilObjUser;
38 $user->setFirstname('iass_test_firstname' . (count(self::$created_users) + time()));
39 $user->setLastname('iass_test_lastname' . (count(self::$created_users) + time()));
40 $user->setLogin('iass_tesst_login' . (count(self::$created_users) + time()));
41 $user->create();
42 $user->saveAsNew();
43 self::$created_users[] = $user;
44 return $user;
45 }
setFirstname($a_str)
set firstname @access public

References ilObjUser\setFirstname().

Referenced by test_create_members(), and test_remove_members().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ notificaterMock()

ilIndividualAssessmentMembersTest::notificaterMock ( )
protected

Definition at line 69 of file ilIndividualAssessmentMembersTest.php.

70 {
71 return $this->createMock('ilIndividualAssessmentNotificator');
72 }

◆ rbacHandlerMock()

ilIndividualAssessmentMembersTest::rbacHandlerMock ( )
protected

Definition at line 64 of file ilIndividualAssessmentMembersTest.php.

65 {
66 return $this->createMock('IndividualAssessmentAccessHandler');
67 }

Referenced by test_create_members(), and test_remove_members().

+ Here is the caller graph for this function:

◆ setUp()

ilIndividualAssessmentMembersTest::setUp ( )

Definition at line 29 of file ilIndividualAssessmentMembersTest.php.

29 : void
30 {
31 include_once("./Services/PHPUnit/classes/class.ilUnitUtil.php");
32 ilUnitUtil::performInitialisation();
33 }

◆ tearDownAfterClass()

static ilIndividualAssessmentMembersTest::tearDownAfterClass ( )
static

Definition at line 295 of file ilIndividualAssessmentMembersTest.php.

295 : void
296 {
297 global $ilDB;
298 foreach (self::$created_users as $user) {
299 $user->delete;
300 $ilDB->manipulate('DELETE FROM iass_settings WHERE obj_id = 100000000');
301 $ilDB->manipulate('DELETE FROM iass_info_settings WHERE obj_id = 100000000');
302 $ilDB->manipulate('DELETE FROM iass_members WHERE obj_id = 100000000');
303 }
304 }
global $ilDB

References $ilDB.

◆ test_create_members()

ilIndividualAssessmentMembersTest::test_create_members (   $args)

@depends test_init_iass

Definition at line 88 of file ilIndividualAssessmentMembersTest.php.

89 {
90 $iass = $args[0];
91 $storage = $args[1];
92 $members = $storage->loadMembers($iass);
93
94 $usr_1 = $this->createUser();
95 $usr_2 = $this->createUser();
96
97 $usrs = array($usr_1->getId() => $usr_1,$usr_2->getId() => $usr_2);
98 $members = $members->withAdditionalUser($usr_1)->withAdditionalUser($usr_2);
99 $members->updateStorageAndRBAC($storage, $this->rbacHandlerMock());
100 $this->compareMembersUsrList($members, $usrs);
101
102 return array($usrs,$iass,$storage);
103 }

References $iass, compareMembersUsrList(), createUser(), and rbacHandlerMock().

+ Here is the call graph for this function:

◆ test_finalize_graded()

ilIndividualAssessmentMembersTest::test_finalize_graded (   $args)

@depends test_remove_members

Definition at line 192 of file ilIndividualAssessmentMembersTest.php.

193 {
194 $usrs = $args[0];
195 $iass = $args[1];
196 $storage = $args[2];
197 $storage->updateMember($storage->loadMember($iass, current($usrs))->withLPStatus(ilIndividualAssessmentMembers::LP_COMPLETED)->withFinalized());
198 $this->assertEquals($storage->loadMember($iass, current($usrs))->LPStatus(), ilIndividualAssessmentMembers::LP_COMPLETED);
199 $this->assertTrue($storage->loadMember($iass, current($usrs))->finalized());
200 return array($usrs,$iass,$storage);
201 }

References $iass, and ilIndividualAssessmentMembers\LP_COMPLETED.

◆ test_finalize_nongraded()

ilIndividualAssessmentMembersTest::test_finalize_nongraded (   $args)

@depends test_remove_members @expectedException ilIndividualAssessmentException

Definition at line 181 of file ilIndividualAssessmentMembersTest.php.

182 {
183 $usrs = $args[0];
184 $iass = $args[1];
185 $storage = $args[2];
186 $member = $storage->loadMember($iass, current($usrs))->withFinalized();
187 }

References $iass.

◆ test_init_iass()

ilIndividualAssessmentMembersTest::test_init_iass ( )

Definition at line 74 of file ilIndividualAssessmentMembersTest.php.

75 {
77 $iass ->setTitle("iass_test");
78 $iass ->setDescription("iass_test_desc");
79 $iass ->setId(100000000);
80 global $ilDB;
82 return array($iass,$storage);
83 }
For the purpose of streamlining the grading and learning-process status definition outside of tests,...

References $iass, and $ilDB.

◆ test_load_member()

ilIndividualAssessmentMembersTest::test_load_member (   $args)

@depends test_load_members

Definition at line 121 of file ilIndividualAssessmentMembersTest.php.

122 {
123 $usrs = $args[0];
124 $iass = $args[1];
125 $storage = $args[2];
126 foreach ($usrs as $usr_id => $usr) {
127 $member = $storage->loadMember($iass, $usr);
128 $this->assertEquals($usr_id, $member->id());
129 $this->assertEquals($member->record(), ilIndividualAssessmentSettings::DEF_RECORD_TEMPLATE);
130 $this->assertEquals($member->lastname(), $usr->getLastname());
131 $member = $member->withRecord("record_of" . $usr_id);
132 $storage->updateMember($member);
133 }
134 return array($usrs,$iass,$storage);
135 }

References $iass.

◆ test_load_members()

ilIndividualAssessmentMembersTest::test_load_members (   $args)

@depends test_create_members

Definition at line 108 of file ilIndividualAssessmentMembersTest.php.

109 {
110 $usrs = $args[0];
111 $iass = $args[1];
112 $storage = $args[2];
113 $members = $storage->loadMembers($iass);
114 $this->compareMembersUsrList($members, $usrs);
115 return array($usrs,$iass,$storage);
116 }

References $iass, and compareMembersUsrList().

+ Here is the call graph for this function:

◆ test_re_finalize()

ilIndividualAssessmentMembersTest::test_re_finalize (   $args)

@depends test_finalize_graded @expectedException ilIndividualAssessmentException

Definition at line 219 of file ilIndividualAssessmentMembersTest.php.

220 {
221 $usrs = $args[0];
222 $iass = $args[1];
223 $storage = $args[2];
224 $storage->loadMember($iass, current($usrs))->withFinalized();
225 }

References $iass.

◆ test_re_grade()

ilIndividualAssessmentMembersTest::test_re_grade (   $args)

@depends test_finalize_graded @expectedException ilIndividualAssessmentException

Definition at line 207 of file ilIndividualAssessmentMembersTest.php.

208 {
209 $usrs = $args[0];
210 $iass = $args[1];
211 $storage = $args[2];
212 $storage->loadMember($iass, current($usrs))->withLPStatus(ilIndividualAssessmentMembers::LP_COMPLETED);
213 }

References $iass, and ilIndividualAssessmentMembers\LP_COMPLETED.

◆ test_reload_member()

ilIndividualAssessmentMembersTest::test_reload_member (   $args)

@depends test_load_member

Definition at line 140 of file ilIndividualAssessmentMembersTest.php.

141 {
142 $usrs = $args[0];
143 $iass = $args[1];
144 $storage = $args[2];
145 foreach ($usrs as $usr_id => $usr) {
146 $member = $storage->loadMember($iass, $usr);
147 $this->assertEquals($usr_id, $member->id());
148 $this->assertEquals($member->record(), "record_of" . $usr_id);
149 $this->assertEquals($member->lastname(), $usr->getLastname());
150 $member = $member->withRecord(ilIndividualAssessmentSettings::DEF_RECORD_TEMPLATE);
151 $storage->updateMember($member);
152 }
153 return array($usrs,$iass,$storage);
154 }

References $iass.

◆ test_remove_members()

ilIndividualAssessmentMembersTest::test_remove_members (   $args)

@depends test_reload_member

Definition at line 159 of file ilIndividualAssessmentMembersTest.php.

160 {
161 $usrs = $args[0];
162 $iass = $args[1];
163 $storage = $args[2];
164 $new_usr = $this->createUser();
165 $members = $storage->loadMembers($iass)->withAdditionalUser($new_usr);
166 $members->updateStorageAndRBAC($storage, $this->rbacHandlerMock());
167 $members = $storage->loadMembers($iass);
168 $usrs[$new_usr->getId()] = $new_usr;
169 $this->compareMembersUsrList($members, $usrs);
170 $members->withoutPresentUser($new_usr)->updateStorageAndRBAC($storage, $this->rbacHandlerMock());
171 $members = $storage->loadMembers($iass);
172 unset($usrs[$new_usr->getId()]);
173 $this->compareMembersUsrList($members, $usrs);
174 return array($usrs,$iass,$storage);
175 }

References $iass, compareMembersUsrList(), createUser(), and rbacHandlerMock().

+ Here is the call graph for this function:

◆ test_withAccessHandling()

ilIndividualAssessmentMembersTest::test_withAccessHandling ( )

Definition at line 245 of file ilIndividualAssessmentMembersTest.php.

246 {
247 $ah = $this
248 ->getMockBuilder(\ilOrgUnitPositionAndRBACAccessHandler::class)
249 ->setMethods(["filterUserIdsByRbacOrPositionOfCurrentUser", "checkRbacOrPositionPermissionAccess"])
250 ->getMock();
251
252 $obj = $this
253 ->getMockBuilder(\ilObjIndividualAssessment::class)
254 ->disableOriginalConstructor()
255 ->setMethods(["getRefId"])
256 ->getMock();
257
258 $members = $this
259 ->getMockBuilder(\ilIndividualAssessmentMembers::class)
260 ->setMethods(["withOnlyUsersByIds", "membersIds", "referencedObject"])
261 ->disableOriginalConstructor()
262 ->getMock();
263
264 $ref_id = 1985;
265
266 $obj->method("getRefId")->willReturn($ref_id);
267
268 $user_ids = [1,2,3,23,42,1337];
269 $keep_user_ids = [3, 23];
270
271 $members
272 ->expects($this->once())
273 ->method("membersIds")
274 ->willReturn($user_ids);
275
276 $members
277 ->expects($this->once())
278 ->method("referencedObject")
279 ->willReturn($obj);
280
281 $ah
282 ->expects($this->once())
283 ->method("filterUserIdsByRbacOrPositionOfCurrentUser")
284 ->with("read_learning_progress", "read_learning_progress", $ref_id, $user_ids)
285 ->willReturn($keep_user_ids);
286
287 $members
288 ->expects($this->once())
289 ->method("withOnlyUsersByIds")
290 ->with($keep_user_ids);
291
292 $members->withAccessHandling($ah);
293 }

◆ test_withOnlyUsersByIds()

ilIndividualAssessmentMembersTest::test_withOnlyUsersByIds ( )

Definition at line 227 of file ilIndividualAssessmentMembersTest.php.

228 {
229 $obj = $this
230 ->getMockBuilder(\ilObjIndividualAssessment::class)
231 ->disableOriginalConstructor()
232 ->getMock();
233
234 $members = new RiggedMembers($obj);
235
236 $records = [1 => 1, 2 => 2, 3 => 3, 23 => 23, 42 => 42, 1337 => 1337];
237
238 $members->setMemberRecords($records);
239
240 $members = $members->withOnlyUsersByIds([3,42]);
241
242 $this->assertEquals([3, 42], $members->membersIds());
243 }

Field Documentation

◆ $created_users

ilIndividualAssessmentMembersTest::$created_users = array()
static

Definition at line 27 of file ilIndividualAssessmentMembersTest.php.

◆ $iass


The documentation for this class was generated from the following file: