Skip to content

Commit

Permalink
Migrating CakeTestFixtureTest to phpunit
Browse files Browse the repository at this point in the history
  • Loading branch information
lorenzo committed Jun 24, 2010
1 parent d8ac21b commit 1ce18ee
Showing 1 changed file with 42 additions and 44 deletions.
86 changes: 42 additions & 44 deletions cake/tests/cases/libs/cake_test_fixture.test.php
Expand Up @@ -84,7 +84,7 @@ class CakeTestFixtureImportFixture extends CakeTestFixture {
*
* @var mixed
*/
public $import = array('table' => 'fixture_tests', 'connection' => 'test_suite');
public $import = array('table' => 'fixture_tests', 'connection' => 'fixture_test_suite');
}

/**
Expand Down Expand Up @@ -112,9 +112,8 @@ class CakeTestFixtureDefaultImportFixture extends CakeTestFixture {
class FixtureImportTestModel extends Model {
public $name = 'FixtureImport';
public $useTable = 'fixture_tests';
public $useDbConfig = 'test_suite';
public $useDbConfig = 'test';
}
Mock::generate('DboSource', 'FixtureMockDboSource');

/**
* Test case for CakeTestFixture
Expand All @@ -131,7 +130,7 @@ class CakeTestFixtureTest extends CakeTestCase {
* @return void
*/
function setUp() {
$this->criticDb =& new FixtureMockDboSource();
$this->criticDb = $this->getMock('DboSource');
$this->criticDb->fullDebug = true;
}

Expand All @@ -152,46 +151,48 @@ function tearDown() {
* @return void
*/
function testInit() {
$Fixture =& new CakeTestFixtureTestFixture();
$Fixture = new CakeTestFixtureTestFixture();
unset($Fixture->table);
$Fixture->init();
$this->assertEqual($Fixture->table, 'fixture_tests');
$this->assertEqual($Fixture->primaryKey, 'id');

$Fixture =& new CakeTestFixtureTestFixture();
$Fixture = new CakeTestFixtureTestFixture();
$Fixture->primaryKey = 'my_random_key';
$Fixture->init();
$this->assertEqual($Fixture->primaryKey, 'my_random_key');

$this->_initDb();
$Source =& new CakeTestFixtureTestFixture();
$Source->create($this->db);
$Source->insert($this->db);
$db = ConnectionManager::getDataSource('test');
$Source = new CakeTestFixtureTestFixture();
$Source->drop($db);
$Source->create($db);
$Source->insert($db);

$Fixture =& new CakeTestFixtureImportFixture();
$Fixture = new CakeTestFixtureTestFixture();
$expected = array('id', 'name', 'created');
$this->assertEqual(array_keys($Fixture->fields), $expected);

$db =& ConnectionManager::getDataSource('test_suite');
$config = $db->config;
$config['prefix'] = 'fixture_test_suite_';
ConnectionManager::create('fixture_test_suite', $config);

$Fixture->fields = $Fixture->records = null;
$Fixture->import = array('table' => 'fixture_tests', 'connection' => 'test_suite', 'records' => true);
$Fixture->import = array('table' => 'fixture_tests', 'connection' => 'test', 'records' => true);
$Fixture->init();
$this->assertEqual(count($Fixture->records), count($Source->records));
$Fixture->create(ConnectionManager::getDataSource('fixture_test_suite'));

$Fixture =& new CakeTestFixtureImportFixture();
$Fixture->fields = $Fixture->records = null;
$Fixture->import = array('model' => 'FixtureImportTestModel', 'connection' => 'test_suite');
$Fixture->init();
$this->assertEqual(array_keys($Fixture->fields), array('id', 'name', 'created'));
$Fixture2 = new CakeTestFixtureImportFixture();
$Fixture2->fields = $Fixture->records = null;
$Fixture2->import = array('model' => 'FixtureImportTestModel', 'connection' => 'fixture_test_suite');
$Fixture2->init();
$this->assertEqual(array_keys($Fixture2->fields), array('id', 'name', 'created'));

$keys = array_flip(ClassRegistry::keys());
$this->assertFalse(array_key_exists('fixtureimporttestmodel', $keys));

$Source->drop($this->db);
$Fixture->drop(ConnectionManager::getDataSource('fixture_test_suite'));
$Source->drop($db);
}

/**
Expand All @@ -201,22 +202,22 @@ function testInit() {
* @return void
*/
function testImport() {
$this->_initDb();


$defaultDb =& ConnectionManager::getDataSource('default');
$testSuiteDb =& ConnectionManager::getDataSource('test_suite');
$defaultDb = ConnectionManager::getDataSource('default');
$testSuiteDb = ConnectionManager::getDataSource('test');
$defaultConfig = $defaultDb->config;
$testSuiteConfig = $testSuiteDb->config;
ConnectionManager::create('new_test_suite', array_merge($testSuiteConfig, array('prefix' => 'new_' . $testSuiteConfig['prefix'])));
$newTestSuiteDb =& ConnectionManager::getDataSource('new_test_suite');
$newTestSuiteDb = ConnectionManager::getDataSource('new_test_suite');

$Source =& new CakeTestFixtureTestFixture();
$Source = new CakeTestFixtureTestFixture();
$Source->create($newTestSuiteDb);
$Source->insert($newTestSuiteDb);

$defaultDb->config = $newTestSuiteDb->config;

$Fixture =& new CakeTestFixtureDefaultImportFixture();
$Fixture = new CakeTestFixtureDefaultImportFixture();
$Fixture->fields = $Fixture->records = null;
$Fixture->import = array('model' => 'FixtureImportTestModel', 'connection' => 'new_test_suite');
$Fixture->init();
Expand All @@ -237,22 +238,21 @@ function testImport() {
* @return void
*/
function testImportWithRecords() {
$this->_initDb();

$defaultDb =& ConnectionManager::getDataSource('default');
$testSuiteDb =& ConnectionManager::getDataSource('test_suite');
$defaultDb = ConnectionManager::getDataSource('default');
$testSuiteDb = ConnectionManager::getDataSource('test');
$defaultConfig = $defaultDb->config;
$testSuiteConfig = $testSuiteDb->config;
ConnectionManager::create('new_test_suite', array_merge($testSuiteConfig, array('prefix' => 'new_' . $testSuiteConfig['prefix'])));
$newTestSuiteDb =& ConnectionManager::getDataSource('new_test_suite');
$newTestSuiteDb = ConnectionManager::getDataSource('new_test_suite');

$Source =& new CakeTestFixtureTestFixture();
$Source = new CakeTestFixtureTestFixture();
$Source->create($newTestSuiteDb);
$Source->insert($newTestSuiteDb);

$defaultDb->config = $newTestSuiteDb->config;

$Fixture =& new CakeTestFixtureDefaultImportFixture();
$Fixture = new CakeTestFixtureDefaultImportFixture();
$Fixture->fields = $Fixture->records = null;
$Fixture->import = array(
'model' => 'FixtureImportTestModel', 'connection' => 'new_test_suite', 'records' => true
Expand All @@ -274,9 +274,9 @@ function testImportWithRecords() {
* @return void
*/
function testCreate() {
$Fixture =& new CakeTestFixtureTestFixture();
$this->criticDb->expectAtLeastOnce('execute');
$this->criticDb->expectAtLeastOnce('createSchema');
$Fixture = new CakeTestFixtureTestFixture();
$this->criticDb->expects($this->atLeastOnce())->method('execute');
$this->criticDb->expects($this->atLeastOnce())->method('createSchema');
$return = $Fixture->create($this->criticDb);
$this->assertTrue($this->criticDb->fullDebug);
$this->assertTrue($return);
Expand All @@ -293,9 +293,8 @@ function testCreate() {
* @return void
*/
function testInsert() {
$Fixture =& new CakeTestFixtureTestFixture();
$this->criticDb->setReturnValue('insertMulti', true);
$this->criticDb->expectAtLeastOnce('insertMulti');
$Fixture = new CakeTestFixtureTestFixture();
$this->criticDb->expects($this->atLeastOnce())->method('insertMulti')->will($this->returnValue(true));

$return = $Fixture->insert($this->criticDb);
$this->assertTrue($this->criticDb->fullDebug);
Expand All @@ -309,16 +308,15 @@ function testInsert() {
* @return void
*/
function testDrop() {
$Fixture =& new CakeTestFixtureTestFixture();
$this->criticDb->setReturnValueAt(0, 'execute', true);
$this->criticDb->expectAtLeastOnce('execute');
$this->criticDb->expectAtLeastOnce('dropSchema');
$Fixture = new CakeTestFixtureTestFixture();
$this->criticDb->expects($this->at(1))->method('execute')->will($this->returnValue(true));
$this->criticDb->expects($this->at(3))->method('execute')->will($this->returnValue(false));
$this->criticDb->expects($this->exactly(2))->method('dropSchema');

$return = $Fixture->drop($this->criticDb);
$this->assertTrue($this->criticDb->fullDebug);
$this->assertTrue($return);

$this->criticDb->setReturnValueAt(1, 'execute', false);
$return = $Fixture->drop($this->criticDb);
$this->assertFalse($return);
}
Expand All @@ -330,8 +328,8 @@ function testDrop() {
* @return void
*/
function testTruncate() {
$Fixture =& new CakeTestFixtureTestFixture();
$this->criticDb->expectAtLeastOnce('truncate');
$Fixture = new CakeTestFixtureTestFixture();
$this->criticDb->expects($this->atLeastOnce())->method('truncate');
$Fixture->truncate($this->criticDb);
$this->assertTrue($this->criticDb->fullDebug);
}
Expand Down

0 comments on commit 1ce18ee

Please sign in to comment.