Passed
Pull Request — 2.6 (#7012)
by Jan
13:08
created

QuotedIdentifierAssociationTest::setUp()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 0
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Doctrine\Tests\ORM\Functional;
4
5
use Doctrine\Tests\Models\Quote\User;
6
use Doctrine\Tests\Models\Quote\UserData;
7
8
/**
9
 * Tests that association with quoted JoinColumn is updated
10
 */
11
class QuotedIdentifierAssociationTest extends \Doctrine\Tests\OrmFunctionalTestCase
12
{
13
14
	protected function setUp()
15
	{
16
		$this->useModelSet('quote');
17
		parent::setUp();
18
	}
19
20
	public function testUpdateEntityWithIdentifierAssociationWithQuotedJoinColumn()
21
	{
22
		$user = new User();
23
		$user->name = 'John Doe';
24
		$this->_em->persist($user);
25
		$this->_em->flush();
26
27
		$userData = new UserData();
28
		$userData->name = '123456789';
29
		$userData->user = $user;
30
		$this->_em->persist($userData);
31
		$this->_em->flush();
32
33
		$userData->name = '4321';
34
		$this->_em->flush();
35
36
		$queries = $this->_sqlLoggerStack->queries;
37
		$platform = $this->_em->getConnection()->getDatabasePlatform();
38
		$quotedTableName = $platform->quoteIdentifier('quote-user-data');
39
		$quotedColumn = $platform->quoteIdentifier('name');
40
		$quotedIdentifier = $platform->quoteIdentifier('user-id');
41
42
		$this->assertNotEquals('quote-user-data', $quotedTableName);
43
		$this->assertNotEquals('name', $quotedColumn);
44
		$this->assertNotEquals('user-id', $quotedIdentifier);
45
46
		$this->assertSQLEquals(sprintf('UPDATE %s SET %s = ? WHERE %s = ?', $quotedTableName, $quotedColumn, $quotedIdentifier), $queries[$this->_sqlLoggerStack->currentQuery - 1]['sql']);
47
	}
48
49
}
50