19 declare(strict_types=1);
38 return "2021-12-02 12:55:33";
59 $irss = $this->createMock(IRSS::class);
70 $db = $this->createMock(ilDBInterface::class);
71 $irss = $this->createMock(IRSS::class);
77 $this->assertInstanceOf(ilIndividualAssessmentMembersStorageDB::class, $obj);
90 .
" ,iassme.obj_id, iassme.usr_id, iassme.examiner_id, iassme.record, iassme.internal_note, iassme.notify" 91 .
" ,iassme.notification_ts, iassme.learning_progress, iassme.finalized,iassme.place" 92 .
" ,iassme.event_time, iassme.changer_id, iassme.change_time\n" 93 .
" FROM iass_members iassme" 94 .
" JOIN usr_data usr ON iassme.usr_id = usr.usr_id" 95 .
" LEFT JOIN usr_data ex ON iassme.examiner_id = ex.usr_id" 96 .
" LEFT JOIN usr_data ud ON iassme.changer_id = ud.usr_id" 97 .
" WHERE obj_id = 22";
100 $iass = $this->createMock(ilObjIndividualAssessment::class);
102 ->expects($this->once())
107 $db_statement = $this->createMock(ilDBStatement::class);
109 $db = $this->createMock(ilDBInterface::class);
111 ->expects($this->once())
113 ->with(22,
"integer")
117 ->expects($this->once())
120 ->willReturn($db_statement)
123 ->expects($this->any())
124 ->method(
"fetchAssoc")
125 ->with($db_statement)
131 $this->createMock(IRSS::class),
135 $result = $obj->loadMembers($iass);
136 $this->assertInstanceOf(ilIndividualAssessmentMembers::class, $result);
144 .
"iassme.examiner_id," 146 .
"iassme.internal_note," 148 .
"iassme.notification_ts," 149 .
"iassme.learning_progress," 150 .
"iassme.finalized," 152 .
"iassme.event_time," 153 .
"iassme.user_view_file," 154 .
"iassme.file_name," 155 .
"iassme.changer_id," 156 .
"iassme.change_time," 157 .
"usr.login AS user_login," 158 .
"ex.login AS examiner_login" 160 .
" JOIN usr_data usr ON iassme.usr_id = usr.usr_id\n" 161 .
" LEFT JOIN usr_data ex ON iassme.examiner_id = ex.usr_id\n" 162 .
" WHERE obj_id = 22" 165 $iass = $this->createMock(ilObjIndividualAssessment::class);
167 ->expects($this->once())
172 $db_statement = $this->createMock(ilDBStatement::class);
174 $db = $this->createMock(ilDBInterface::class);
176 ->expects($this->once())
178 ->with(22,
"integer")
182 ->expects($this->once())
185 ->willReturn($db_statement)
188 ->expects($this->once())
189 ->method(
"fetchAssoc")
190 ->with($db_statement)
194 $irss = $this->createMock(IRSS::class);
197 $result = $obj->loadMembersAsSingleObjects($iass);
199 $this->assertIsArray($result);
200 $this->assertEmpty($result);
208 .
"iassme.examiner_id," 210 .
"iassme.internal_note," 212 .
"iassme.notification_ts," 213 .
"iassme.learning_progress," 214 .
"iassme.finalized," 216 .
"iassme.event_time," 217 .
"iassme.user_view_file," 218 .
"iassme.file_name," 219 .
"iassme.changer_id," 220 .
"iassme.change_time," 221 .
"usr.login AS user_login," 222 .
"ex.login AS examiner_login" 224 .
" JOIN usr_data usr ON iassme.usr_id = usr.usr_id\n" 225 .
" LEFT JOIN usr_data ex ON iassme.examiner_id = ex.usr_id\n" 226 .
" WHERE obj_id = 22\n" 227 .
" AND iassme.usr_id = 33" 230 $iass = $this->createMock(ilObjIndividualAssessment::class);
232 ->expects($this->once())
237 $usr = $this->createMock(ilObjUser::class);
239 ->expects($this->once())
244 $db_statement = $this->createMock(ilDBStatement::class);
250 $db = $this->createMock(ilDBInterface::class);
252 ->expects($this->exactly(2))
254 ->willReturnCallback(
255 function (
int $v,
string $type) use (&$consecutive) {
256 list($ev, $etype) = array_shift($consecutive);
257 $this->assertEquals($ev, $v);
258 $this->assertEquals($etype, $type);
264 ->expects($this->once())
267 ->willReturn($db_statement)
270 ->expects($this->once())
271 ->method(
"fetchAssoc")
272 ->with($db_statement)
276 $irss = $this->createMock(IRSS::class);
280 $this->expectException(ilIndividualAssessmentException::class);
281 $this->expectExceptionMessage(
"invalid usr-obj combination");
282 $obj->loadMember($iass, $usr);
290 .
"iassme.examiner_id," 292 .
"iassme.internal_note," 294 .
"iassme.notification_ts," 295 .
"iassme.learning_progress," 296 .
"iassme.finalized," 298 .
"iassme.event_time," 299 .
"iassme.user_view_file," 300 .
"iassme.file_name," 301 .
"iassme.changer_id," 302 .
"iassme.change_time," 303 .
"usr.login AS user_login," 304 .
"ex.login AS examiner_login" 306 .
" JOIN usr_data usr ON iassme.usr_id = usr.usr_id\n" 307 .
" LEFT JOIN usr_data ex ON iassme.examiner_id = ex.usr_id\n" 308 .
" WHERE obj_id = 22\n" 309 .
" AND iassme.usr_id = 33" 312 $iass = $this->createMock(ilObjIndividualAssessment::class);
314 ->expects($this->once())
319 $usr = $this->createMock(ilObjUser::class);
321 ->expects($this->once())
326 $db_statement = $this->createMock(ilDBStatement::class);
332 $db = $this->createMock(ilDBInterface::class);
334 ->expects($this->exactly(2))
336 ->willReturnCallback(
337 function (
int $v,
string $type) use (&$consecutive) {
338 list($ev, $etype) = array_shift($consecutive);
339 $this->assertEquals($ev, $v);
340 $this->assertEquals($etype, $type);
346 ->expects($this->once())
349 ->willReturn($db_statement)
352 ->expects($this->once())
353 ->method(
"fetchAssoc")
354 ->with($db_statement)
358 $irss = $this->createMock(IRSS::class);
362 $this->expectException(ilIndividualAssessmentException::class);
363 $this->expectExceptionMessage(
"invalid usr-obj combination");
364 $obj->loadMember($iass, $usr);
369 $iass = $this->createMock(ilObjIndividualAssessment::class);
370 $usr = $this->createMock(ilObjUser::class);
372 ->expects($this->once())
373 ->method(
"getFullname")
374 ->willReturn(
"Full Name")
395 $db = $this->createMock(ilDBInterface::class);
396 $obj = $this->getWrapperObj($db);
398 $member = $obj->createAssessmentMemberWrapper($iass, $usr, $record);
400 $this->assertEquals(
"Full Name", $member->getGrading()->getName());
401 $this->assertEquals(11, $member->changerId());
402 $this->assertEquals(
"2021-12-02", $member->changeTime()->format(
"Y-m-d"));
403 $this->assertEquals(22, $member->examinerId());
404 $this->assertEquals(
$timestamp, $member->notificationTS());
405 $this->assertEquals(
$timestamp, $member->eventTime()->getTimestamp());
406 $this->assertEquals(
"record", $member->record());
407 $this->assertEquals(
"internal_note", $member->internalNote());
408 $this->assertEquals(
"file_name", $member->fileName());
409 $this->assertTrue($member->viewFile());
410 $this->assertEquals(33, $member->LPStatus());
411 $this->assertTrue($member->notify());
412 $this->assertTrue($member->finalized());
420 $member = $this->createMock(ilIndividualAssessmentMember::class);
422 ->expects($this->once())
423 ->method(
"assessmentId")
427 ->expects($this->once())
432 ->expects($this->once())
433 ->method(
"eventTime")
437 ->expects($this->once())
442 ->expects($this->once())
443 ->method(
"examinerId")
447 ->expects($this->once())
449 ->willReturn(
"record")
452 ->expects($this->once())
453 ->method(
"internalNote")
454 ->willReturn(
"internalNote")
457 ->expects($this->once())
459 ->willReturn(
"place")
462 ->expects($this->once())
467 ->expects($this->once())
468 ->method(
"finalized")
472 ->expects($this->once())
473 ->method(
"notificationTS")
477 ->expects($this->once())
479 ->willReturn(
"fileName")
482 ->expects($this->once())
487 ->expects($this->once())
488 ->method(
"changerId")
492 $db = $this->createMock(ilDBInterface::class);
493 $obj = $this->getWrapperObj($db);
496 "obj_id" => [
"integer", 11],
497 "usr_id" => [
"integer", 22]
517 ->expects($this->once())
519 ->with(
"iass_members", $values, $where)
523 $obj->updateMember($member);
528 $iass = $this->createMock(ilObjIndividualAssessment::class);
530 ->expects($this->exactly(2))
535 $sql =
"DELETE FROM iass_members WHERE obj_id = 22";
537 $db = $this->createMock(ilDBInterface::class);
539 ->expects($this->any())
541 ->with(22,
"integer")
545 ->expects($this->once())
546 ->method(
"manipulate")
550 $irss = $this->createMock(IRSS::class);
553 $obj->deleteMembers($iass);
560 $iass = $this->createMock(ilObjIndividualAssessment::class);
562 ->expects($this->once())
567 $db = $this->createMock(ilDBInterface::class);
568 $obj = $this->getWrapperObj($db);
588 "obj_id" => [
"integer", 11],
591 ilIndividualAssessmentMembers::FIELD_NOTIFY => [
"integer",
true],
606 ->expects($this->once())
608 ->with(
"iass_members", $values)
611 $obj->insertMembersRecord($iass, $record);
616 $iass = $this->createMock(ilObjIndividualAssessment::class);
618 ->expects($this->once())
626 "DELETE FROM iass_members" . PHP_EOL
627 .
"WHERE obj_id = 11" . PHP_EOL
628 .
"AND usr_id = 22" . PHP_EOL
635 $db = $this->createMock(ilDBInterface::class);
637 ->expects($this->exactly(2))
639 ->willReturnCallback(
640 function (
int $v,
string $type) use (&$consecutive) {
641 list($ev, $etype) = array_shift($consecutive);
642 $this->assertEquals($ev, $v);
643 $this->assertEquals($etype, $type);
649 ->expects($this->once())
650 ->method(
"manipulate")
654 $irss = $this->createMock(IRSS::class);
657 $obj->removeMembersRecord($iass, $record);
665 " AND finalized = 0 AND examiner_id IS NULL\n" 669 " AND finalized = 0 AND examiner_id IS NOT NULL\n" 673 " AND finalized = 1 AND learning_progress = 2\n" 677 " AND finalized = 1 AND learning_progress = 3\n" 691 $db = $this->createMock(ilDBInterface::class);
692 $obj = $this->getWrapperObj($db);
693 $res = $obj->getWhereFromFilterWrapper($filter);
695 $this->assertEquals($result,
$res);
700 $db = $this->createMock(ilDBInterface::class);
701 $obj = $this->getWrapperObj($db);
705 $res = $obj->getOrderByFromSortWrapper($sort);
707 $this->assertEquals(
" ORDER BY test foo",
$res);
For the purpose of streamlining the grading and learning-process status definition outside of tests...
const FIELD_INTERNAL_NOTE
const FIELD_LEARNING_PROGRESS
const FIELD_CHANGER_FIRSTNAME
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
const FIELD_USER_VIEW_FILE
const LP_ASSESSMENT_NOT_COMPLETED
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
const FIELD_EXAMINER_FIRSTNAME
const FIELD_NOTIFICATION_TS
Edit the record of a user, set LP.
foreach($mandatory_scripts as $file) $timestamp
const FIELD_EXAMINER_LASTNAME
const FIELD_CHANGER_LASTNAME