Как я должен пророчествовать метод сортировки? - PullRequest
0 голосов
/ 03 октября 2018

Я использую DoctrineMongoDBBundle , и я не уверен, как предсказать метод сортировки.

Источник

$qb = $dm->createQueryBuilder('Article')
->sort('createdAt', 'desc');

Мой кодis:

UserRepository - Метод All

public function all(array $input = null)
    {
    $user = UserEntity::class;

    $all = $this->dm->createQueryBuilder($user);

    $search = $all->sort(['name' => 'asc'])
            ->getQuery();

        return $search;
    }

UserRepositoryTest - пророчество

public function testSortingResults()
{
    $output = [
        'name' => 'John',
        'email' => 'john@email.com',
        'phone' => '89564789547',
    ];

    $document = $this->prophesize(DocumentManager::class);

    $queryBuilder = $this->prophesize(QueryBuilder::class);

    $queryBuilder->sort()->willReturn($output)->shouldBeCalled();

    $queryBuilder->getQuery()->willReturn($output)->shouldBeCalled();

    $document->createQueryBuilder(UsuarioEntidade::class)->willReturn($queryBuilder)->shouldBeCalled();

    $repository = new UserRepository($document->reveal());

    $all = $repository->all();

    $this->assertNotNull($all);
    $this->assertEquals($output, $all);
}

Ошибка всегда такая

Пророчество \ Исключение\ Doubler \ MethodNotFoundException: метод Double\Doctrine\ORM\QueryBuilder\P2::sort() не определен.

Я не понимаю, как проверить SORT, потому что он не найден в QueryBuilder.

...