Я использую DoctrineMongoDBBundle и я не уверен, как пророчествовать метод сортировки.
$qb = $dm->createQueryBuilder('Article')
->sort('createdAt', 'desc');
Мой код:
UserRepository — Метод Все
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' => '[email protected]',
'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);
}
Ошибка всегда такая
Пророчество \ Exception \ Doubler \ MethodNotFoundException: Метод
Double\Doctrine\ORM\QueryBuilder\P2::sort()
не определено.
Я не понимаю, как проверить SORT, потому что он не найден в QueryBuilder.
Задача ещё не решена.
Других решений пока нет …