Permalink
Browse files

Fixing cross database tests by making sure the fixture was created fo…

…r the right database.
  • Loading branch information...
1 parent 423fa81 commit 33d00380ed7e38cb0c586f830e31f0d938acbf11 @renan renan committed May 24, 2011
@@ -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');
@@ -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;
@@ -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;
}
}

0 comments on commit 33d0038

Please sign in to comment.