1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
<?php
declare(strict_types=1);
namespace Doctrine\Tests\ORM\Query;
use Doctrine\Common\Collections\ExpressionBuilder as CriteriaBuilder;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Persisters\Entity\BasicEntityPersister;
use Doctrine\ORM\Persisters\SqlExpressionVisitor;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\TestCase;
class SqlExpressionVisitorTest extends TestCase
{
private SqlExpressionVisitor $visitor;
private BasicEntityPersister&MockObject $persister;
private ClassMetadata $classMetadata;
protected function setUp(): void
{
$this->persister = $this->createMock(BasicEntityPersister::class);
$this->classMetadata = new ClassMetadata('Dummy');
$this->visitor = new SqlExpressionVisitor($this->persister, $this->classMetadata);
}
public function testWalkNotCompositeExpression(): void
{
$cb = new CriteriaBuilder();
$this->persister
->expects(self::once())
->method('getSelectConditionStatementSQL')
->willReturn('dummy expression');
$expr = $this->visitor->walkCompositeExpression(
$cb->not(
$cb->eq('foo', 1),
),
);
self::assertEquals('NOT (dummy expression)', $expr);
}
}
|