Вход Регистрация
Файл: symfony-2.7/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/ORMQueryBuilderLoaderTest.php
Строк: 92
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace SymfonyBridgeDoctrineTestsFormChoiceList;

use 
SymfonyBridgeDoctrineFormChoiceListORMQueryBuilderLoader;
use 
SymfonyBridgeDoctrineTestDoctrineTestHelper;
use 
DoctrineDBALConnection;

class 
ORMQueryBuilderLoaderTest extends DoctrineTestHelper
{
    
/**
     * @expectedException SymfonyComponentFormExceptionUnexpectedTypeException
     */
    
public function testItOnlyWorksWithQueryBuilderOrClosure()
    {
        new 
ORMQueryBuilderLoader(new stdClass());
    }

    
/**
     * @expectedException SymfonyComponentFormExceptionUnexpectedTypeException
     */
    
public function testClosureRequiresTheEntityManager()
    {
        
$closure = function () {};

        new 
ORMQueryBuilderLoader($closure);
    }

    public function 
testIdentifierTypeIsStringArray()
    {
        
$this->checkIdentifierType('SymfonyBridgeDoctrineTestsFixturesSingleStringIdEntity'Connection::PARAM_STR_ARRAY);
    }

    public function 
testIdentifierTypeIsIntegerArray()
    {
        
$this->checkIdentifierType('SymfonyBridgeDoctrineTestsFixturesSingleIntIdEntity'Connection::PARAM_INT_ARRAY);
    }

    protected function 
checkIdentifierType($classname$expectedType)
    {
        
$em $this->createTestEntityManager();

        
$query $this->getMockBuilder('QueryMock')
            ->
setMethods(array('setParameter''getResult''getSql''_doExecute'))
            ->
getMock();

        
$query->expects($this->once())
            ->
method('setParameter')
            ->
with('ORMQueryBuilderLoader_getEntitiesByIds_id', array(), $expectedType)
            ->
will($this->returnValue($query));

        
$qb $this->getMockBuilder('DoctrineORMQueryBuilder')
            ->
setConstructorArgs(array($em))
            ->
setMethods(array('getQuery'))
            ->
getMock();

        
$qb->expects($this->once())
            ->
method('getQuery')
            ->
will($this->returnValue($query));

        
$qb->select('e')
            ->
from($classname'e');

        
$loader = new ORMQueryBuilderLoader($qb);
        
$loader->getEntitiesByIds('id', array());
    }
}
Онлайн: 0
Реклама