TableDiffTest.php 1.62 KB
Newer Older
1 2
<?php

Michael Moravec's avatar
Michael Moravec committed
3 4
declare(strict_types=1);

5 6
namespace Doctrine\Tests\DBAL\Schema;

7
use Doctrine\DBAL\Platforms\AbstractPlatform;
8
use Doctrine\DBAL\Schema\Identifier;
Sergei Morozov's avatar
Sergei Morozov committed
9
use Doctrine\DBAL\Schema\Table;
10
use Doctrine\DBAL\Schema\TableDiff;
11
use PHPUnit\Framework\MockObject\MockObject;
Sergei Morozov's avatar
Sergei Morozov committed
12
use PHPUnit\Framework\TestCase;
13

Sergei Morozov's avatar
Sergei Morozov committed
14
class TableDiffTest extends TestCase
15
{
16 17 18 19 20 21 22 23
    /** @var AbstractPlatform|MockObject */
    private $platform;

    public function setUp() : void
    {
        $this->platform = $this->createMock(AbstractPlatform::class);
    }

24 25 26
    /**
     * @group DBAL-1013
     */
27
    public function testReturnsName() : void
28 29 30
    {
        $tableDiff = new TableDiff('foo');

31
        self::assertEquals(new Identifier('foo'), $tableDiff->getName($this->platform));
32 33 34 35 36
    }

    /**
     * @group DBAL-1016
     */
37
    public function testPrefersNameFromTableObject() : void
38
    {
39
        $tableMock = $this->getMockBuilder(Table::class)
40 41 42
            ->disableOriginalConstructor()
            ->getMock();

Sergei Morozov's avatar
Sergei Morozov committed
43
        $tableDiff            = new TableDiff('foo');
44 45 46 47
        $tableDiff->fromTable = $tableMock;

        $tableMock->expects($this->once())
            ->method('getQuotedName')
48
            ->with($this->platform)
49 50
            ->will($this->returnValue('foo'));

51
        self::assertEquals(new Identifier('foo'), $tableDiff->getName($this->platform));
52 53 54 55 56
    }

    /**
     * @group DBAL-1013
     */
57
    public function testReturnsNewName() : void
58 59 60
    {
        $tableDiff = new TableDiff('foo');

61
        self::assertNull($tableDiff->getNewName());
62 63 64

        $tableDiff->newName = 'bar';

65
        self::assertEquals(new Identifier('bar'), $tableDiff->getNewName());
66 67
    }
}