File indexing completed on 2025-05-04 05:33:13
0001 <?php 0002 /** 0003 * ocs-webserver 0004 * 0005 * Copyright 2016 by pling GmbH. 0006 * 0007 * This file is part of ocs-webserver. 0008 * 0009 * This program is free software: you can redistribute it and/or modify 0010 * it under the terms of the GNU Affero General Public License as 0011 * published by the Free Software Foundation, either version 3 of the 0012 * License, or (at your option) any later version. 0013 * 0014 * This program is distributed in the hope that it will be useful, 0015 * but WITHOUT ANY WARRANTY; without even the implied warranty of 0016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0017 * GNU Affero General Public License for more details. 0018 * 0019 * You should have received a copy of the GNU Affero General Public License 0020 * along with this program. If not, see <http://www.gnu.org/licenses/>. 0021 **/ 0022 0023 class Default_Model_MemberTest extends Zend_Test_PHPUnit_DatabaseTestCase 0024 { 0025 0026 protected $_connectionMock; 0027 0028 public function getDataSet() 0029 { 0030 return $this->createMySQLXMLDataSet(realpath(APPLICATION_PATH . '/../tests/_files') . '/initialDataSetMember.xml'); 0031 } 0032 0033 public function testDatabaseCanBeRead() 0034 { 0035 $ds = new Zend_Test_PHPUnit_Db_DataSet_QueryDataSet($this->getConnection()); 0036 $ds->addTable('member', 'SELECT * FROM member'); 0037 $expected = $this->createMySQLXMLDataSet(realpath(APPLICATION_PATH . '/../tests/_files') . '/selectDataSetMember.xml'); 0038 $this->assertDataSetsEqual($expected, $ds); 0039 } 0040 0041 public function getConnection() 0042 { 0043 if (null === $this->_connectionMock) { 0044 require_once APPLICATION_LIB . '/Local/Application.php'; 0045 $this->bootstrap = new Local_Application(APPLICATION_ENV, Zend_Registry::get('configuration'), 0046 Zend_Registry::get('cache')); 0047 $this->bootstrap->bootstrap('db'); 0048 $db = $this->bootstrap->getBootstrap()->getResource('db'); 0049 $this->_connectionMock = $this->createZendDbConnection($db, 'zftest'); 0050 //Zend_Db_Table_Abstract::setDefaultAdapter($db); 0051 } 0052 return $this->_connectionMock; 0053 } 0054 0055 public function testFetchNewMembers() 0056 { 0057 $modelMember = new Default_Model_Member(); 0058 $results = $modelMember->fetchNewActiveMembers(50); 0059 $this->assertTrue(50 == $results->count()); 0060 } 0061 0062 public function testFetchNewMembersNullCount() 0063 { 0064 $modelMember = new Default_Model_Member(); 0065 $results = $modelMember->fetchNewActiveMembers(null); 0066 $this->assertTrue(1 == $results->count()); 0067 } 0068 0069 public function testActivateMemberFromVerification() 0070 { 0071 $modelMember = new Default_Model_Member(); 0072 $results = $modelMember->activateMemberFromVerification(9); 0073 $changedMemberData = $modelMember->find(9)->current(); 0074 $this->assertTrue(Default_Model_Member::MEMBER_ACTIVE == $changedMemberData->is_active); 0075 $this->assertTrue(Default_Model_Member::MEMBER_MAIL_CHECKED == $changedMemberData->mail_checked); 0076 $this->assertTrue(Default_Model_Member::MEMBER_NOT_DELETED == $changedMemberData->is_deleted); 0077 } 0078 0079 public function testFetchMemberData() 0080 { 0081 $modelMember = new Default_Model_Member(); 0082 $results = $modelMember->fetchMemberData(24); 0083 $this->assertTrue(24 == $results->member_id); 0084 } 0085 0086 public function testFetchMemberFromHive() 0087 { 0088 $modelMember = new Default_Model_Member(); 0089 $results = $modelMember->fetchMemberFromHiveUserName('ruebe'); 0090 $this->assertTrue(40 == $results['member_id']); 0091 } 0092 0093 public function testMemberFollowUsers() 0094 { 0095 $modelMember = new Default_Model_Member(); 0096 $results = $modelMember->fetchFollowedMembers(22); 0097 $this->assertTrue(4 == count($results)); 0098 } 0099 0100 }