3 declare(strict_types=1);
    32         $this->assignment_repo = $repo;
    37         return \DateTimeImmutable::createFromFormat(
'Ymd', 
'20221224');
    40     protected function log(
string $msg): void
    55     protected function setUp(): void
    57         $this->events = 
new ProgrammeEventsMock();
    58         $this->settings_repo = $this->getMockBuilder(ilStudyProgrammeSettingsDBRepository::class)
    59             ->disableOriginalConstructor()
    60             ->onlyMethods([
'getProgrammeIdsWithRiskyToFailSettings'])
    63         $this->adapter = $this->getMockBuilder(ilPrgRiskyToFail::class)
    64             ->setConstructorArgs([$this->settings_repo, $this->events])
    67         $this->real_adapter = 
new ilPrgRiskyToFail($this->settings_repo, $this->events);
    69         $this->assignment_repo = $this->getMockBuilder(ilPRGAssignmentDBRepository::class)
    70             ->disableOriginalConstructor()
    71             ->onlyMethods([
'getRiskyToFail', 
'storeRiskyToFailSentFor'])
    80             ->expects($this->once())
    81             ->method(
'getRelevantProgrammeIds')
    83         $this->assignment_repo
    84             ->expects($this->never())
    85             ->method(
'getRiskyToFail');
    86         $this->assignment_repo
    87             ->expects($this->never())
    88             ->method(
'storeRiskyToFailSentFor');
    90             ->expects($this->never())
    91             ->method(
'actOnSingleAssignment');
    99             ->withProgressTree($pgs1);
   101             ->withProgressTree($pgs1);
   104             ->expects($this->once())
   105             ->method(
'getRelevantProgrammeIds')
   109         $this->assignment_repo
   110             ->expects($this->once())
   111             ->method(
'getRiskyToFail')
   112             ->willReturn([$ass1, $ass2]);
   114         $this->assignment_repo
   115             ->expects($this->exactly(2))
   116             ->method(
'storeRiskyToFailSentFor');
   119             ->expects($this->exactly(2))
   120             ->method(
'actOnSingleAssignment');
   132             ->expects($this->once())
   133             ->method(
'getProgrammeIdsWithRiskyToFailSettings')
   139         $this->assignment_repo
   140             ->expects($this->once())
   141             ->method(
'getRiskyToFail')
   142             ->willReturn([$ass1, $ass2]);
   147         $this->assertEquals(2, count($job->logs));
   149             [
'userRiskyToFail', [
"ass_id" => 42, 
'root_prg_id' => 11]],
   150             [
'userRiskyToFail', [
"ass_id" => 43, 
'root_prg_id' => 11]]
   152         $this->assertEquals($expected_events, $this->events->raised);
 ilPRGAssignmentDBRepository $assignment_repo
 
ilPrgUserRiskyToFailCronJobMock $job
 
testRiskyToFailForRelevantProgrammes()
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
ilPrgRiskyToFail $real_adapter
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
A Progress is the status of a user on a single node of an assignment; it is unique by assignment_id:u...
 
testRiskyToFailForNoRelevantProgrammes()
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
ilStudyProgrammeSettingsDBRepository $settings_repo
 
ilPrgCronJobAdapter $adapter
 
ilPrgRiskyToFail $adapter
 
Assignments are relations of users to a PRG; They hold progress-information for (sub-)nodes of the PR...
 
__construct(ilPRGAssignmentDBRepository $repo, ilPrgCronJobAdapter $adapter)
 
Assignments are relations of users to a PRG; They hold progress-information for (sub-)nodes of the PR...
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
ProgrammeEventsMock $events