Blame | Last modification | View Log | RSS feed
<?php/*** CakeFixtureManager file** CakePHP(tm) : Rapid Development Framework (http://cakephp.org)* Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)** Licensed under The MIT License* For full copyright and license information, please see the LICENSE.txt* Redistributions of files must retain the above copyright notice.** @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)* @link http://cakephp.org CakePHP Project* @package Cake.Test.Case.TestSuite.Fixture* @since CakePHP v 2.5* @license http://www.opensource.org/licenses/mit-license.php MIT License*/App::uses('DboSource', 'Model/Datasource');App::uses('CakeFixtureManager', 'TestSuite/Fixture');App::uses('UuidFixture', 'Test/Fixture');/*** Test Case for CakeFixtureManager class** @package Cake.Test.Case.TestSuite*/class CakeFixtureManagerTest extends CakeTestCase {/*** reset environment.** @return void*/public function setUp() {parent::setUp();$this->fixtureManager = new CakeFixtureManager();}/*** tearDown** @return void*/public function tearDown() {parent::tearDown();unset($this->fixtureManager);}/*** testLoadTruncatesTable** @return void*/public function testLoadTruncatesTable() {$MockFixture = $this->getMock('UuidFixture', array('truncate'));$MockFixture->expects($this->once())->method('truncate')->will($this->returnValue(true));$fixtureManager = $this->fixtureManager;$fixtureManagerReflection = new ReflectionClass($fixtureManager);$loadedProperty = $fixtureManagerReflection->getProperty('_loaded');$loadedProperty->setAccessible(true);$loadedProperty->setValue($fixtureManager, array('core.uuid' => $MockFixture));$TestCase = $this->getMock('CakeTestCase');$TestCase->fixtures = array('core.uuid');$TestCase->autoFixtures = true;$TestCase->dropTables = false;$fixtureManager->load($TestCase);}/*** testLoadSingleTruncatesTable** @return void*/public function testLoadSingleTruncatesTable() {$MockFixture = $this->getMock('UuidFixture', array('truncate'));$MockFixture->expects($this->once())->method('truncate')->will($this->returnValue(true));$fixtureManager = $this->fixtureManager;$fixtureManagerReflection = new ReflectionClass($fixtureManager);$fixtureMapProperty = $fixtureManagerReflection->getProperty('_fixtureMap');$fixtureMapProperty->setAccessible(true);$fixtureMapProperty->setValue($fixtureManager, array('UuidFixture' => $MockFixture));$dboMethods = array_diff(get_class_methods('DboSource'), array('enabled'));$dboMethods[] = 'connect';$db = $this->getMock('DboSource', $dboMethods);$db->config['prefix'] = '';$fixtureManager->loadSingle('Uuid', $db, false);}}