Ejemplo n.º 1
0
 /**
  * test that fixtures don't duplicate the test db prefix.
  *
  * @return void
  */
 public function testInitDbPrefixDuplication()
 {
     $this->skipIf($this->db instanceof Sqlite, 'Cannot open 2 connections to Sqlite');
     $db = ConnectionManager::getDataSource('test');
     $backPrefix = $db->config['prefix'];
     $db->config['prefix'] = 'cake_fixture_test_';
     ConnectionManager::create('fixture_test_suite', $db->config);
     $newDb = ConnectionManager::getDataSource('fixture_test_suite');
     $newDb->config['prefix'] = 'cake_fixture_test_';
     $Source = new CakeTestFixtureTestFixture();
     $Source->create($db);
     $Source->insert($db);
     $Fixture = new CakeTestFixtureImportFixture();
     $Fixture->fields = $Fixture->records = $Fixture->table = null;
     $Fixture->import = array('model' => 'FixtureImportTestModel', 'connection' => 'test');
     $Fixture->init();
     $this->assertEquals(array('id', 'name', 'created'), array_keys($Fixture->fields));
     $this->assertEquals('fixture_tests', $Fixture->table);
     $Source->drop($db);
     $db->config['prefix'] = $backPrefix;
 }
Ejemplo n.º 2
0
 /**
  * testInit
  *
  * @access public
  * @return void
  */
 function testInit()
 {
     $Fixture = new CakeTestFixtureTestFixture();
     unset($Fixture->table);
     $Fixture->init();
     $this->assertEqual($Fixture->table, 'fixture_tests');
     $this->assertEqual($Fixture->primaryKey, 'id');
     $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);
     $Fixture = new CakeTestFixtureImportFixture();
     $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->init();
     $this->assertEqual(count($Fixture->records), count($Source->records));
     $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'));
     $keys = array_flip(ClassRegistry::keys());
     $this->assertFalse(array_key_exists('fixtureimporttestmodel', $keys));
     $Source->drop($this->db);
 }