Skip to content

Commit

Permalink
Fixing cross database tests by making sure the fixture was created fo…
Browse files Browse the repository at this point in the history
…r the right database.
  • Loading branch information
renan committed May 24, 2011
1 parent 423fa81 commit 33d0038
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 6 deletions.
3 changes: 2 additions & 1 deletion lib/Cake/Test/Case/Model/ModelIntegrationTest.php
Expand Up @@ -399,7 +399,8 @@ function testCrossDatabaseJoins() {
$this->assertEqual($TestModel->find('all'), $expected);

$db2 = ConnectionManager::getDataSource('test2');
$this->loadFixtures('User', 'Comment');
$this->fixtureManager->loadSingle('User', $db2);
$this->fixtureManager->loadSingle('Comment', $db2);
$this->assertEqual($TestModel->find('count'), 3);

$TestModel->User->setDataSource('test2');
Expand Down
10 changes: 5 additions & 5 deletions lib/Cake/TestSuite/Fixture/CakeFixtureManager.php
Expand Up @@ -149,12 +149,12 @@ protected function _loadFixtures($fixtures) {
* @return void
*/
protected function _setupTable($fixture, $db = null, $drop = true) {
if (!empty($fixture->created)) {
return;
}
if (!$db) {
$db = $this->_db;
}
if (!empty($fixture->created) && $fixture->created == $db->configKeyName) {
return;
}

$cacheSources = $db->cacheSources;
$db->cacheSources = false;
Expand All @@ -165,10 +165,10 @@ protected function _setupTable($fixture, $db = null, $drop = true) {
if ($drop && in_array($table, $sources)) {
$fixture->drop($db);
$fixture->create($db);
$fixture->created = true;
$fixture->created = $db->configKeyName;
} elseif (!in_array($table, $sources)) {
$fixture->create($db);
$fixture->created = true;
$fixture->created = $db->configKeyName;
}
}

Expand Down

0 comments on commit 33d0038

Please sign in to comment.