public function testGetReadSubscriptionModelClassNames()
 {
     $modelClassNames = ReadPermissionsSubscriptionUtil::getReadSubscriptionModelClassNames();
     $compareData = array('Account', 'Contact', 'Meeting', 'Task');
     $this->assertEquals($compareData, $modelClassNames);
     // Now test with caching
     $modelClassNames = ReadPermissionsSubscriptionUtil::getReadSubscriptionModelClassNames();
     $this->assertEquals($compareData, $modelClassNames);
 }
 /**
  * Update read subscription table for all users and models
  * @param bool $partialBuild
  */
 public static function updateAllReadSubscriptionTables($partialBuild = true)
 {
     $loggedUser = Yii::app()->user->userModel;
     $users = User::getAll();
     foreach ($users as $user) {
         Yii::app()->user->userModel = $user;
         $modelClassNames = ReadPermissionsSubscriptionUtil::getReadSubscriptionModelClassNames();
         if (!empty($modelClassNames) && is_array($modelClassNames)) {
             foreach ($modelClassNames as $modelClassName) {
                 if ($modelClassName != 'Account') {
                     self::updateReadSubscriptionTableByModelClassNameAndUser($modelClassName, Yii::app()->user->userModel, $partialBuild, true);
                 } else {
                     self::updateReadSubscriptionTableByModelClassNameAndUser($modelClassName, Yii::app()->user->userModel, $partialBuild, false);
                 }
             }
         }
     }
     Yii::app()->user->userModel = $loggedUser;
 }