コード例 #1
0
 function testStoreEventsDoNotOverrideUsers()
 {
     $listeningUsers = new ArrayIterator(array(array('user_id' => 1, 'object_id' => 1), array('user_id' => 2, 'object_id' => 1), array('user_id' => 3, 'object_id' => 1)));
     $user1 = mock('PFUser');
     $user1->setReturnValue('getId', 1);
     $user2 = mock('PFUser');
     $user2->setReturnValue('getId', 2);
     $user3 = mock('PFUser');
     $user3->setReturnValue('getId', 3);
     $um = new MockUserManager();
     $um->setReturnValueAt(0, 'getUserById', $user1);
     $um->setReturnValueAt(1, 'getUserById', $user2);
     $um->setReturnValueAt(2, 'getUserById', $user3);
     $dpm = new MockDocman_PermissionsManager();
     $dpm->setReturnValue('userCanRead', true);
     $dpm->setReturnValue('userCanAccess', true);
     $item = new MockDocman_Item();
     $item->setReturnValue('getId', 1);
     $params = array('item' => $item);
     $nm = new Docman_NotificationsManager_DeleteTestVersion();
     $nm->setReturnValue('_getListeningUsers', $listeningUsers);
     $nm->setReturnValue('_getUserManager', $um);
     $nm->setReturnValue('_getPermissionsManager', $dpm);
     $nm->_listeners = array();
     $nm->_storeEvents(1, 'removed', $params);
     $this->assertEqual($user1, $nm->_listeners[1]['user']);
     $this->assertEqual($user2, $nm->_listeners[2]['user']);
     $this->assertEqual($user3, $nm->_listeners[3]['user']);
 }