|
|
@@ -15,9 +15,9 @@
|
|
|
namespace Cake\Test\TestCase\ORM;
|
|
|
|
|
|
use Cake\Core\Configure;
|
|
|
-use Cake\Database\TypeMap;
|
|
|
use Cake\Database\Expression\OrderByExpression;
|
|
|
use Cake\Database\Expression\QueryExpression;
|
|
|
+use Cake\Database\TypeMap;
|
|
|
use Cake\Datasource\ConnectionManager;
|
|
|
use Cake\ORM\Table;
|
|
|
use Cake\ORM\TableRegistry;
|
|
|
@@ -53,6 +53,31 @@ class TableTest extends \Cake\TestSuite\TestCase {
|
|
|
parent::setUp();
|
|
|
$this->connection = ConnectionManager::get('test');
|
|
|
Configure::write('App.namespace', 'TestApp');
|
|
|
+
|
|
|
+ $this->usersTypeMap = new TypeMap([
|
|
|
+ 'Users.id' => 'integer',
|
|
|
+ 'id' => 'integer',
|
|
|
+ 'Users.username' => 'string',
|
|
|
+ 'username' => 'string',
|
|
|
+ 'Users.password' => 'string',
|
|
|
+ 'password' => 'string',
|
|
|
+ 'Users.created' => 'timestamp',
|
|
|
+ 'created' => 'timestamp',
|
|
|
+ 'Users.updated' => 'timestamp',
|
|
|
+ 'updated' => 'timestamp',
|
|
|
+ ]);
|
|
|
+ $this->articlesTypeMap = new TypeMap([
|
|
|
+ 'Articles.id' => 'integer',
|
|
|
+ 'id' => 'integer',
|
|
|
+ 'Articles.title' => 'string',
|
|
|
+ 'title' => 'string',
|
|
|
+ 'Articles.author_id' => 'integer',
|
|
|
+ 'author_id' => 'integer',
|
|
|
+ 'Articles.body' => 'text',
|
|
|
+ 'body' => 'text',
|
|
|
+ 'Articles.published' => 'string',
|
|
|
+ 'published' => 'string',
|
|
|
+ ]);
|
|
|
}
|
|
|
|
|
|
public function tearDown() {
|
|
|
@@ -2038,19 +2063,8 @@ class TableTest extends \Cake\TestSuite\TestCase {
|
|
|
|
|
|
$result = $table->findByUsername('garrett');
|
|
|
$this->assertInstanceOf('Cake\ORM\Query', $result);
|
|
|
- $typeMap = new TypeMap([
|
|
|
- 'Users.id' => 'integer',
|
|
|
- 'id' => 'integer',
|
|
|
- 'Users.username' => 'string',
|
|
|
- 'username' => 'string',
|
|
|
- 'Users.password' => 'string',
|
|
|
- 'password' => 'string',
|
|
|
- 'Users.created' => 'timestamp',
|
|
|
- 'created' => 'timestamp',
|
|
|
- 'Users.updated' => 'timestamp',
|
|
|
- 'updated' => 'timestamp',
|
|
|
- ]);
|
|
|
- $expected = new QueryExpression(['username' => 'garrett'], $typeMap);
|
|
|
+
|
|
|
+ $expected = new QueryExpression(['username' => 'garrett'], $this->usersTypeMap);
|
|
|
$this->assertEquals($expected, $result->clause('where'));
|
|
|
}
|
|
|
|
|
|
@@ -2104,19 +2118,7 @@ class TableTest extends \Cake\TestSuite\TestCase {
|
|
|
$result = $table->findByUsernameAndId('garrett', 4);
|
|
|
$this->assertInstanceOf('Cake\ORM\Query', $result);
|
|
|
|
|
|
- $typeMap = new TypeMap([
|
|
|
- 'Users.id' => 'integer',
|
|
|
- 'id' => 'integer',
|
|
|
- 'Users.username' => 'string',
|
|
|
- 'username' => 'string',
|
|
|
- 'Users.password' => 'string',
|
|
|
- 'password' => 'string',
|
|
|
- 'Users.created' => 'timestamp',
|
|
|
- 'created' => 'timestamp',
|
|
|
- 'Users.updated' => 'timestamp',
|
|
|
- 'updated' => 'timestamp',
|
|
|
- ]);
|
|
|
- $expected = new QueryExpression(['username' => 'garrett', 'id' => 4], $typeMap);
|
|
|
+ $expected = new QueryExpression(['username' => 'garrett', 'id' => 4], $this->usersTypeMap);
|
|
|
$this->assertEquals($expected, $result->clause('where'));
|
|
|
}
|
|
|
|
|
|
@@ -2131,19 +2133,7 @@ class TableTest extends \Cake\TestSuite\TestCase {
|
|
|
$result = $table->findByUsernameOrId('garrett', 4);
|
|
|
$this->assertInstanceOf('Cake\ORM\Query', $result);
|
|
|
|
|
|
- $typeMap = new TypeMap([
|
|
|
- 'Users.id' => 'integer',
|
|
|
- 'id' => 'integer',
|
|
|
- 'Users.username' => 'string',
|
|
|
- 'username' => 'string',
|
|
|
- 'Users.password' => 'string',
|
|
|
- 'password' => 'string',
|
|
|
- 'Users.created' => 'timestamp',
|
|
|
- 'created' => 'timestamp',
|
|
|
- 'Users.updated' => 'timestamp',
|
|
|
- 'updated' => 'timestamp',
|
|
|
- ]);
|
|
|
- $expected = new QueryExpression([], $typeMap);
|
|
|
+ $expected = new QueryExpression([], $this->usersTypeMap);
|
|
|
$expected->add([
|
|
|
'OR' => [
|
|
|
'username' => 'garrett',
|
|
|
@@ -2165,19 +2155,7 @@ class TableTest extends \Cake\TestSuite\TestCase {
|
|
|
$this->assertInstanceOf('Cake\ORM\Query', $result);
|
|
|
$this->assertNull($result->clause('limit'));
|
|
|
|
|
|
- $typeMap = new TypeMap([
|
|
|
- 'Articles.id' => 'integer',
|
|
|
- 'id' => 'integer',
|
|
|
- 'Articles.author_id' => 'integer',
|
|
|
- 'author_id' => 'integer',
|
|
|
- 'Articles.title' => 'string',
|
|
|
- 'title' => 'string',
|
|
|
- 'Articles.body' => 'text',
|
|
|
- 'body' => 'text',
|
|
|
- 'Articles.published' => 'string',
|
|
|
- 'published' => 'string',
|
|
|
- ]);
|
|
|
- $expected = new QueryExpression(['author_id' => 1], $typeMap);
|
|
|
+ $expected = new QueryExpression(['author_id' => 1], $this->articlesTypeMap);
|
|
|
$this->assertEquals($expected, $result->clause('where'));
|
|
|
}
|
|
|
|
|
|
@@ -2193,20 +2171,9 @@ class TableTest extends \Cake\TestSuite\TestCase {
|
|
|
$this->assertInstanceOf('Cake\ORM\Query', $result);
|
|
|
$this->assertNull($result->clause('limit'));
|
|
|
$expected = new QueryExpression(
|
|
|
- ['author_id' => 1, 'published' => 'Y']
|
|
|
+ ['author_id' => 1, 'published' => 'Y'],
|
|
|
+ $this->usersTypeMap
|
|
|
);
|
|
|
- $expected->typeMap()->defaults([
|
|
|
- 'Users.id' => 'integer',
|
|
|
- 'id' => 'integer',
|
|
|
- 'Users.username' => 'string',
|
|
|
- 'username' => 'string',
|
|
|
- 'Users.password' => 'string',
|
|
|
- 'password' => 'string',
|
|
|
- 'Users.created' => 'timestamp',
|
|
|
- 'created' => 'timestamp',
|
|
|
- 'Users.updated' => 'timestamp',
|
|
|
- 'updated' => 'timestamp',
|
|
|
- ]);
|
|
|
$this->assertEquals($expected, $result->clause('where'));
|
|
|
}
|
|
|
|