Exemplo n.º 1
0
 function testLogout()
 {
     $cm = new MockCookieManager($this);
     $dar_valid_hash = new MockDataAccessResult($this);
     $user123 = new MockUser($this);
     $dao = new MockUserDao($this);
     $um = new UserManagerTestVersion($this);
     $user123->setReturnValue('getId', 123);
     $user123->setReturnValue('getUserName', 'user_123');
     $user123->setReturnValue('isAnonymous', false);
     $user123->setReturnValue('getSessionHash', 'valid_hash');
     $user123->expectAt(0, 'setSessionHash', array('valid_hash'));
     $user123->expectAt(1, 'setSessionHash', array(false));
     $cm->setReturnValue('getCookie', 'valid_hash');
     $cm->expectOnce('removeCookie', array('session_hash'));
     $um->setReturnValue('_getServerIp', '212.212.123.12');
     $dao->expectOnce('deleteSession', array('valid_hash'));
     $dao->setReturnReference('searchBySessionHashAndIp', $dar_valid_hash, array('valid_hash', '212.212.123.12'));
     $dar_valid_hash->setReturnValue('getRow', array('user_name' => 'user_123', 'user_id' => 123));
     $um->setReturnReference('getUserInstanceFromRow', $user123, array(array('user_name' => 'user_123', 'user_id' => 123)));
     $um->setReturnReference('getDao', $dao);
     $um->setReturnReference('_getCookieManager', $cm);
     $um->expectOnce('destroySession');
     $user = $um->getCurrentUser();
     $um->logout();
 }