GuidTypeTest.php 1.26 KB
Newer Older
1 2
<?php

3
namespace Doctrine\DBAL\Tests\Types;
4

5 6
use Doctrine\DBAL\Platforms\AbstractPlatform;
use Doctrine\DBAL\Types\GuidType;
7
use Doctrine\DBAL\Types\Type;
8
use PHPUnit\Framework\MockObject\MockObject;
9
use PHPUnit\Framework\TestCase;
10

11
class GuidTypeTest extends TestCase
12
{
13
    /** @var AbstractPlatform|MockObject */
Sergei Morozov's avatar
Sergei Morozov committed
14
    private $platform;
Gabriel Caruso's avatar
Gabriel Caruso committed
15

16
    /** @var GuidType */
Sergei Morozov's avatar
Sergei Morozov committed
17
    private $type;
18

19
    protected function setUp(): void
20
    {
21
        $this->platform = $this->createMock(AbstractPlatform::class);
Sergei Morozov's avatar
Sergei Morozov committed
22
        $this->type     = Type::getType('guid');
23 24
    }

25
    public function testConvertToPHPValue(): void
26
    {
27 28
        self::assertIsString($this->type->convertToPHPValue('foo', $this->platform));
        self::assertIsString($this->type->convertToPHPValue('', $this->platform));
29 30
    }

31
    public function testNullConversion(): void
32
    {
Sergei Morozov's avatar
Sergei Morozov committed
33
        self::assertNull($this->type->convertToPHPValue(null, $this->platform));
34 35
    }

36
    public function testNativeGuidSupport(): void
37
    {
Sergei Morozov's avatar
Sergei Morozov committed
38
        self::assertTrue($this->type->requiresSQLCommentHint($this->platform));
39

40
        $this->platform->expects(self::any())
41
             ->method('hasNativeGuidType')
42
             ->will(self::returnValue(true));
43

44
        self::assertFalse($this->type->requiresSQLCommentHint($this->platform));
45 46
    }
}