◆ createDBFunctionCalls()
  
  
      
        
          | ilNotificationOSDTest::createDBFunctionCalls  | 
          ( | 
          int  | 
          $insert = 0,  | 
         
        
           | 
           | 
          int  | 
          $queryF = 0,  | 
         
        
           | 
           | 
          int  | 
          $fetchAssoc = 0,  | 
         
        
           | 
           | 
          int  | 
          $manipulateF = 0  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
private   | 
  
 
Definition at line 32 of file ilNotificationOSDTest.php.
References ILIAS\LTI\ToolProvider\$key.
Referenced by testCreateNotification(), testGet0Notification(), testGetNotification(), testRemoveNoNotification(), and testRemoveNotification().
   40         $this->db->expects(self::exactly($insert))->method(
'nextId')->willReturnCallback(
function (
string $table): 
int {
    41             return count($this->database) + 1;
    43         $this->db->expects(self::exactly($insert))->method(
'insert')->willReturnCallback(
    44             function (
string $table, array $object): 
int {
    45                 foreach ($object as &$value) {
    49                 $this->database[] = $object;
    50                 return $object[
'notification_osd_id'];
    53         $this->db->expects(self::exactly($queryF))->method(
'queryF')->willReturnCallback(
    54             function (
string $query, array $types, array $values): 
ilPDOStatement {
    56                 if (str_contains($query, 
'WHERE usr_id')) {
    57                     foreach ($this->database as $row) {
    58                         if ($row[
'usr_id'] === $values[0]) {
    59                             $this->result[] = $row;
    63                 if (str_contains($query, 
'WHERE notification_osd_id')) {
    64                     foreach ($this->database as $row) {
    65                         if ($row[
'notification_osd_id'] === $values[0]) {
    66                             $this->result[] = $row;
    70                 if (str_contains($query, 
'SELECT count(*) AS count')) {
    71                     $this->result = [0 => [
'count' => count($this->result)]];
    73                 return $this->createMock(ilPDOStatement::class);
    76         $this->db->expects(self::exactly($fetchAssoc))->method(
'fetchAssoc')->willReturnCallback(
    78                 return array_shift($this->result);
    81         $this->db->expects(self::exactly($manipulateF))->method(
'manipulateF')->willReturnCallback(
    82             function (
string $query, array $types, array $values): 
int {
    83                 if (count($values) === 1) {
    84                     foreach ($this->database as 
$key => $row) {
    85                         if ($row[
'notification_osd_id'] === $values[0]) {
    86                             unset($this->database[
$key]);
    91                 if (count($values) === 2) {
    93                     foreach ($this->database as 
$key => $row) {
    94                         if ($row[
'usr_id'] === $values[0] && $row[
'type'] === $values[1]) {
    95                             unset($this->database[
$key]);
 Class ilPDOStatement is a Wrapper Class for PDOStatement. 
 
 
 
 
◆ setUp()
  
  
      
        
          | ilNotificationOSDTest::setUp  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
protected   | 
  
 
Definition at line 106 of file ilNotificationOSDTest.php.
References ILIAS\Repository\user().
  108         $this->db = $this->createMock(ilDBPdo::class);
   109         $this->handler = new \ILIAS\Notifications\ilNotificationOSDHandler(
   110             new ILIAS\Notifications\Repository\ilNotificationOSDRepository($this->db)
   112         $this->
user = $this->createMock(ilObjUser::class);
   113         $this->
user->method(
'getId')->willReturn(4);
 Class ChatMainBarProvider . 
 
 
 
 
◆ testCreateNotification()
      
        
          | ilNotificationOSDTest::testCreateNotification  | 
          ( | 
           | ) | 
           | 
        
      
 
Definition at line 116 of file ilNotificationOSDTest.php.
References createDBFunctionCalls(), and ILIAS\Repository\user().
  119         $config = new \ILIAS\Notifications\Model\ilNotificationConfig(
'test_type');
   120         $config->setTitleVar(
'Test Notification');
   121         $config->setShortDescriptionVar(
'This is a test notification');
   122         $test_obj = new \ILIAS\Notifications\Model\ilNotificationObject($config, $this->
user);
   123         $this->handler->notify($test_obj);
   125         $this->assertCount(1, $this->database);
 createDBFunctionCalls(int $insert=0, int $queryF=0, int $fetchAssoc=0, int $manipulateF=0)
 
 
 
 
◆ testGet0Notification()
      
        
          | ilNotificationOSDTest::testGet0Notification  | 
          ( | 
           | ) | 
           | 
        
      
 
Definition at line 128 of file ilNotificationOSDTest.php.
References createDBFunctionCalls().
  131         $this->assertCount(0, $this->handler->getOSDNotificationsForUser($this->user->getId()));
 createDBFunctionCalls(int $insert=0, int $queryF=0, int $fetchAssoc=0, int $manipulateF=0)
 
 
 
 
◆ testGetNotification()
      
        
          | ilNotificationOSDTest::testGetNotification  | 
          ( | 
           | ) | 
           | 
        
      
 
Definition at line 134 of file ilNotificationOSDTest.php.
References createDBFunctionCalls(), and ILIAS\Repository\user().
  137         $config = new \ILIAS\Notifications\Model\ilNotificationConfig(
'test_type');
   138         $test_obj = new \ILIAS\Notifications\Model\ilNotificationObject($config, $this->
user);
   139         $this->handler->notify($test_obj);
   141         $this->assertCount(1, $this->handler->getOSDNotificationsForUser($this->user->getId()));
 createDBFunctionCalls(int $insert=0, int $queryF=0, int $fetchAssoc=0, int $manipulateF=0)
 
 
 
 
◆ testRemoveNoNotification()
      
        
          | ilNotificationOSDTest::testRemoveNoNotification  | 
          ( | 
           | ) | 
           | 
        
      
 
Definition at line 158 of file ilNotificationOSDTest.php.
References createDBFunctionCalls().
  161         $this->assertCount(0, $this->handler->getOSDNotificationsForUser($this->user->getId()));
   162         $this->assertFalse($this->handler->removeOSDNotification(3));
 createDBFunctionCalls(int $insert=0, int $queryF=0, int $fetchAssoc=0, int $manipulateF=0)
 
 
 
 
◆ testRemoveNotification()
      
        
          | ilNotificationOSDTest::testRemoveNotification  | 
          ( | 
           | ) | 
           | 
        
      
 
Definition at line 144 of file ilNotificationOSDTest.php.
References createDBFunctionCalls(), and ILIAS\Repository\user().
  147         $config = new \ILIAS\Notifications\Model\ilNotificationConfig(
'test_type');
   148         $test_obj = new \ILIAS\Notifications\Model\ilNotificationObject($config, $this->
user);
   149         $this->handler->notify($test_obj);
   151         $notifications = $this->handler->getOSDNotificationsForUser($this->
user->getId());
   153         $this->assertCount(1, $notifications);
   154         $this->assertTrue($this->handler->removeOSDNotification($notifications[0]->getId()));
   155         $this->assertCount(0, $this->handler->getOSDNotificationsForUser($this->user->getId()));
 createDBFunctionCalls(int $insert=0, int $queryF=0, int $fetchAssoc=0, int $manipulateF=0)
 
 
 
 
◆ $database
  
  
      
        
          | array ilNotificationOSDTest::$database | 
         
       
   | 
  
private   | 
  
 
 
◆ $db
  
  
      
        
          | ilDBInterface& PHPUnit Framework MockObject MockObject ilNotificationOSDTest::$db | 
         
       
   | 
  
private   | 
  
 
 
◆ $handler
  
  
      
        
          | ILIAS Notifications ilNotificationOSDHandler ilNotificationOSDTest::$handler | 
         
       
   | 
  
private   | 
  
 
 
◆ $result
  
  
      
        
          | array ilNotificationOSDTest::$result | 
         
       
   | 
  
private   | 
  
 
 
◆ $user
The documentation for this class was generated from the following file: