Exemplo n.º 1
0
/**
 * Test truncate with a mock.
 *
 * @return void
 */
	public function testTruncateStatements() {
		$this->loadFixtures('Article', 'User');
		$db = ConnectionManager::getDatasource('test');
		$schema = $db->config['database'];
		$Article = new Article();

		$this->Dbo = $this->getMock('Mysql', array('execute'), array($db->config));

		$this->Dbo->expects($this->at(0))->method('execute')
			->with("TRUNCATE TABLE `$schema`.`articles`");
		$this->Dbo->truncate($Article);

		$this->Dbo->expects($this->at(0))->method('execute')
			->with("TRUNCATE TABLE `$schema`.`articles`");
		$this->Dbo->truncate('articles');

		// #2355: prevent duplicate prefix
		$this->Dbo->config['prefix'] = 'tbl_';
		$Article->tablePrefix = 'tbl_';
		$this->Dbo->expects($this->at(0))->method('execute')
			->with("TRUNCATE TABLE `$schema`.`tbl_articles`");
		$this->Dbo->truncate($Article);

		$this->Dbo->expects($this->at(0))->method('execute')
			->with("TRUNCATE TABLE `$schema`.`tbl_articles`");
		$this->Dbo->truncate('articles');
	}
Exemplo n.º 2
0
 /**
  * test hasAny()
  *
  * @return void
  */
 public function testHasAny()
 {
     $this->Dbo = $this->getMock('Mysql', array('connect', '_execute', 'execute', 'value'));
     $this->Model = $this->getMock('TestModel', array('getDataSource'));
     $this->Model->expects($this->any())->method('getDataSource')->will($this->returnValue($this->Dbo));
     $this->Dbo->expects($this->at(0))->method('value')->with('harry')->will($this->returnValue("'harry'"));
     $this->Dbo->expects($this->at(1))->method('execute')->with('SELECT COUNT(`TestModel`.`id`) AS count FROM `test_models` AS `TestModel` WHERE `TestModel`.`name` = \'harry\'');
     $this->Dbo->expects($this->at(2))->method('execute')->with('SELECT COUNT(`TestModel`.`id`) AS count FROM `test_models` AS `TestModel` WHERE 1 = 1');
     $this->Dbo->hasAny($this->Model, array('TestModel.name' => 'harry'));
     $this->Dbo->hasAny($this->Model, array());
 }
Exemplo n.º 3
0
 /**
  * Test deletes with a mock.
  *
  * @return void
  */
 public function testDeleteStatements()
 {
     $this->loadFixtures('Article', 'User');
     $test = ConnectionManager::getDatasource('test');
     $this->Dbo = $this->getMock('Mysql', array('execute'), array($test->config));
     $this->Dbo->expects($this->at(0))->method('execute')->with("DELETE  FROM `articles`  WHERE 1 = 1");
     $this->Dbo->expects($this->at(1))->method('execute')->with("DELETE `Article` FROM `articles` AS `Article` LEFT JOIN `users` AS `User` ON (`Article`.`user_id` = `User`.`id`)" . "  WHERE 1 = 1");
     $this->Dbo->expects($this->at(2))->method('execute')->with("DELETE `Article` FROM `articles` AS `Article` LEFT JOIN `users` AS `User` ON (`Article`.`user_id` = `User`.`id`)" . "  WHERE 2=2");
     $Article = new Article();
     $this->Dbo->delete($Article);
     $this->Dbo->delete($Article, true);
     $this->Dbo->delete($Article, '2=2');
 }
Exemplo n.º 4
0
 /**
  * Test truncate with a mock.
  *
  * @return void
  */
 public function testTruncateStatements()
 {
     $this->loadFixtures('Article', 'User');
     $db = ConnectionManager::getDatasource('test');
     $schema = $db->config['schema'];
     $Article = new Article();
     $this->Dbo = $this->getMock('Postgres', array('execute'), array($db->config));
     $this->Dbo->expects($this->at(0))->method('execute')->with("DELETE FROM \"{$schema}\".\"articles\"");
     $this->Dbo->truncate($Article);
     $this->Dbo->expects($this->at(0))->method('execute')->with("DELETE FROM \"{$schema}\".\"articles\"");
     $this->Dbo->truncate('articles');
     // #2355: prevent duplicate prefix
     $this->Dbo->config['prefix'] = 'tbl_';
     $Article->tablePrefix = 'tbl_';
     $this->Dbo->expects($this->at(0))->method('execute')->with("DELETE FROM \"{$schema}\".\"tbl_articles\"");
     $this->Dbo->truncate($Article);
     $this->Dbo->expects($this->at(0))->method('execute')->with("DELETE FROM \"{$schema}\".\"tbl_articles\"");
     $this->Dbo->truncate('articles');
 }