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 }