<?php
require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'reliq' . DIRECTORY_SEPARATOR . 'autoload.php';
class UpdateManagerTest extends PHPUnit_Framework_TestCase { /** * @var SelectManager */ protected $manager; protected $table;
/** * Sets up the fixture, for example, opens a network connections. * This method is called before a test is executed. */ protected function setUp() { $this->table = new \Reliq\Table('test', array( 'driver' => 'mysql', 'columns' => array( 'name', 'email', 'password' ) )); $this->manager = \Reliq\Managers\UpdateManager::factory ($this->table);
}
private function prepare_regex($regex) { return '/' . str_replace(array( ' ', '*', '.', '(', ')' ), array( ' +', '\*', '\.', '\(', '\)' ), $regex) . '/'; }
public function testSimpleUpdate() { $pattern = $this->prepare_regex('UPDATE `test` SET `test`.`name` = name'); $sql = $this->manager ->set($this->table->name->set('name')) ->to_sql(); $this->assertRegExp($pattern, $sql); }
/** * @expectedException Reliq\Exceptions\WrongColumnsForUpdateException */ public function testSimpleUpdateException() { $sql = $this->manager ->set('test') ->to_sql(); }
public function testSimpleUpdate2() { $pattern = $this ->prepare_regex('UPDATE `test` SET `test`.`name` = name, ' . '`test`.`password` = ***'); $sql = $this->manager ->set($this->table->name->set('name'), $this->table->password->set('***')) ->to_sql(); $this->assertRegExp($pattern, $sql); }
public function testSimpleUpdate3() { $pattern = $this ->prepare_regex('UPDATE `test` SET `test`.`name` = name, ' . '`test`.`password` = ***'); $sql = $this->manager ->set($this->table->name->set('name')) ->set($this->table->password->set('***')) ->to_sql(); $this->assertRegExp($pattern, $sql); }
public function testLimit() { $sql = $this->manager ->limit(10) ->to_sql(); $pattern = $this ->prepare_regex('UPDATE `test` SET LIMIT 10'); $this->assertRegExp($pattern, $sql); }
public function testWhere() { $sql = $this->manager ->where($this->table->name->eq('10')) ->to_sql(); $pattern = $this ->prepare_regex('UPDATE `test` SET WHERE `test`.`name` = 10'); $this->assertRegExp($pattern, $sql); }
public function testAlias() { $table2 = $this->table->alias('test_2'); $manager = \Reliq\Managers\UpdateManager::factory($table2);
$sql = $manager->to_sql(); $pattern = $this->prepare_regex('UPDATE `test` `test_2` ' . 'SET');
$this->assertRegExp($pattern, $sql); }
public function testAliasWithWhere() { $table2 = $this->table->alias('test_2'); $manager = \Reliq\Managers\UpdateManager::factory($table2) ->where($table2->name->gt(10));
$sql = $manager->to_sql(); $pattern = $this->prepare_regex('UPDATE `test` `test_2` ' . 'SET WHERE ' . '`test_2`.`name` > 10');
$this->assertRegExp($pattern, $sql); }
}
?>
|