ILIAS  trunk Revision v11.0_alpha-1723-g8e69f309bab
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilStudyProgrammeCronRiskyToFailTest Class Reference
+ Inheritance diagram for ilStudyProgrammeCronRiskyToFailTest:
+ Collaboration diagram for ilStudyProgrammeCronRiskyToFailTest:

Public Member Functions

 testRiskyToFailForNoRelevantProgrammes ()
 
 testRiskyToFailForRelevantProgrammes ()
 
 testRiskyToFailEvents ()
 

Protected Member Functions

 setUp ()
 

Protected Attributes

ilPrgUserRiskyToFailCronJobMock $job
 
ilStudyProgrammeSettingsDBRepository $settings_repo
 
ilPRGAssignmentDBRepository $assignment_repo
 
ProgrammeEventsMock $events
 
ilPrgRiskyToFail $adapter
 
ilPrgRiskyToFail $real_adapter
 

Detailed Description

Definition at line 46 of file ilStudyProgrammeCronRiskyToFailTest.php.

Member Function Documentation

◆ setUp()

ilStudyProgrammeCronRiskyToFailTest::setUp ( )
protected

Definition at line 55 of file ilStudyProgrammeCronRiskyToFailTest.php.

55  : void
56  {
57  $this->events = new ProgrammeEventsMock();
58  $this->settings_repo = $this->getMockBuilder(ilStudyProgrammeSettingsDBRepository::class)
59  ->disableOriginalConstructor()
60  ->onlyMethods(['getProgrammeIdsWithRiskyToFailSettings'])
61  ->getMock();
62 
63  $this->adapter = $this->getMockBuilder(ilPrgRiskyToFail::class)
64  ->setConstructorArgs([$this->settings_repo, $this->events])
65  ->getMock();
66 
67  $this->real_adapter = new ilPrgRiskyToFail($this->settings_repo, $this->events);
68 
69  $this->assignment_repo = $this->getMockBuilder(ilPRGAssignmentDBRepository::class)
70  ->disableOriginalConstructor()
71  ->onlyMethods(['getRiskyToFail', 'storeRiskyToFailSentFor'])
72  ->getMock();
73 
74  $this->job = new ilPrgUserRiskyToFailCronJobMock($this->assignment_repo, $this->adapter);
75  }

◆ testRiskyToFailEvents()

ilStudyProgrammeCronRiskyToFailTest::testRiskyToFailEvents ( )

Definition at line 125 of file ilStudyProgrammeCronRiskyToFailTest.php.

References ilPrgUserRiskyToFailCronJob\run(), and ilPRGProgress\STATUS_COMPLETED.

125  : void
126  {
128  $ass1 = (new ilPRGAssignment(42, 7))->withProgressTree($pgs1);
129  $ass2 = (new ilPRGAssignment(43, 8))->withProgressTree($pgs1);
130 
131  $this->settings_repo
132  ->expects($this->once())
133  ->method('getProgrammeIdsWithRiskyToFailSettings')
134  ->willReturn([
135  42 => 3,
136  43 => 3
137  ]);
138 
139  $this->assignment_repo
140  ->expects($this->once())
141  ->method('getRiskyToFail')
142  ->willReturn([$ass1, $ass2]);
143 
144  $job = new ilPrgUserRiskyToFailCronJobMock($this->assignment_repo, $this->real_adapter);
145  $job->run();
146 
147  $this->assertEquals(2, count($job->logs));
148  $expected_events = [
149  ['userRiskyToFail', ["ass_id" => 42, 'root_prg_id' => 11]],
150  ['userRiskyToFail', ["ass_id" => 43, 'root_prg_id' => 11]]
151  ];
152  $this->assertEquals($expected_events, $this->events->raised);
153  }
A Progress is the status of a user on a single node of an assignment; it is unique by assignment_id:u...
Assignments are relations of users to a PRG; They hold progress-information for (sub-)nodes of the PR...
+ Here is the call graph for this function:

◆ testRiskyToFailForNoRelevantProgrammes()

ilStudyProgrammeCronRiskyToFailTest::testRiskyToFailForNoRelevantProgrammes ( )

Definition at line 77 of file ilStudyProgrammeCronRiskyToFailTest.php.

77  : void
78  {
79  $this->adapter
80  ->expects($this->once())
81  ->method('getRelevantProgrammeIds')
82  ->willReturn([]);
83  $this->assignment_repo
84  ->expects($this->never())
85  ->method('getRiskyToFail');
86  $this->assignment_repo
87  ->expects($this->never())
88  ->method('storeRiskyToFailSentFor');
89  $this->adapter
90  ->expects($this->never())
91  ->method('actOnSingleAssignment');
92  $this->job->run();
93  }

◆ testRiskyToFailForRelevantProgrammes()

ilStudyProgrammeCronRiskyToFailTest::testRiskyToFailForRelevantProgrammes ( )

Definition at line 95 of file ilStudyProgrammeCronRiskyToFailTest.php.

References ilPRGProgress\STATUS_COMPLETED.

95  : void
96  {
98  $ass1 = (new ilPRGAssignment(42, 7))
99  ->withProgressTree($pgs1);
100  $ass2 = (new ilPRGAssignment(43, 8))
101  ->withProgressTree($pgs1);
102 
103  $this->adapter
104  ->expects($this->once())
105  ->method('getRelevantProgrammeIds')
106  ->willReturn([
107  1 => 3
108  ]);
109  $this->assignment_repo
110  ->expects($this->once())
111  ->method('getRiskyToFail')
112  ->willReturn([$ass1, $ass2]);
113 
114  $this->assignment_repo
115  ->expects($this->exactly(2))
116  ->method('storeRiskyToFailSentFor');
117 
118  $this->adapter
119  ->expects($this->exactly(2))
120  ->method('actOnSingleAssignment');
121 
122  $this->job->run();
123  }
A Progress is the status of a user on a single node of an assignment; it is unique by assignment_id:u...
Assignments are relations of users to a PRG; They hold progress-information for (sub-)nodes of the PR...

Field Documentation

◆ $adapter

ilPrgRiskyToFail ilStudyProgrammeCronRiskyToFailTest::$adapter
protected

Definition at line 52 of file ilStudyProgrammeCronRiskyToFailTest.php.

◆ $assignment_repo

ilPRGAssignmentDBRepository ilStudyProgrammeCronRiskyToFailTest::$assignment_repo
protected

Definition at line 50 of file ilStudyProgrammeCronRiskyToFailTest.php.

◆ $events

ProgrammeEventsMock ilStudyProgrammeCronRiskyToFailTest::$events
protected

Definition at line 51 of file ilStudyProgrammeCronRiskyToFailTest.php.

◆ $job

ilPrgUserRiskyToFailCronJobMock ilStudyProgrammeCronRiskyToFailTest::$job
protected

Definition at line 48 of file ilStudyProgrammeCronRiskyToFailTest.php.

◆ $real_adapter

ilPrgRiskyToFail ilStudyProgrammeCronRiskyToFailTest::$real_adapter
protected

Definition at line 53 of file ilStudyProgrammeCronRiskyToFailTest.php.

◆ $settings_repo

ilStudyProgrammeSettingsDBRepository ilStudyProgrammeCronRiskyToFailTest::$settings_repo
protected

Definition at line 49 of file ilStudyProgrammeCronRiskyToFailTest.php.


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